arXiv:2504.17428cs.SEcs.AI2025-04被引 1

提出自承认老化债务概念,分析开源代码注释发现超21%项目存在老化问题。

Detection, Classification and Prevalence of Self-Admitted Aging Debt

  • 从代码注释中识别自承认老化债务,构建时间老化分类体系。
  • 分析9000+开源项目,21%以上存在老化债务,静默型占主导。
  • 为维护者提供早期预警框架,适合软件演化与运维研究者参考。

背景:以往关于软件老化研究多关注内存、性能等运行时动态指标,常忽略源码注释等演化指标,并且对技术债(TD)中的遗留问题关注有限。目标:提出‘老化债务’(Aging Debt, AD)概念,代表为保持软件更新所需增加的维护成本与努力。通过开发者在源码注释中自承认的老化现象(即自承认老化债务,SAAD),研究其检测与量化。方法:采用混合方法,结合定性与定量分析,先通过上下文分析提炼出SAAD模式,再基于模式识别注释中的SAAD。在此过程中,构建了反映软件时间老化特征的SAAD分类体系,并用于量化开源仓库中各类老化债务的普遍性。结果:提出的分类体系将软件老化分为活跃型与静默型两类。对超过9000个开源仓库的广泛分析显示,超过21%的仓库在黄金标准数据集中显示出SAAD迹象。值得注意的是,静默型老化债务占据主导地位,凸显了维护中一个被忽视的关键方面。结论:随着软件规模每年增长,演化老化与维护挑战加剧;所提分类体系可支持研究人员开展深入的老化研究,帮助从业者制定更优、更具前瞻性的维护策略。

原文摘要 · Abstract (English)

Context: Previous research on software aging is limited with focus on dynamic runtime indicators like memory and performance, often neglecting evolutionary indicators like source code comments and narrowly examining legacy issues within the TD context. Objective: We introduce the concept of Aging Debt (AD), representing the increased maintenance efforts and costs needed to keep software updated. We study AD through Self-Admitted Aging Debt (SAAD) observed in source code comments left by software developers. Method: We employ a mixed-methods approach, combining qualitative and quantitative analyses to detect and measure AD in software. This includes framing SAAD patterns from the source code comments after analysing the source code context, then utilizing the SAAD patterns to detect SAAD comments. In the process, we develop a taxonomy for SAAD that reflects the temporal aging of software and its associated debt. Then we utilize the taxonomy to quantify the different types of AD prevalent in OSS repositories. Results: Our proposed taxonomy categorizes temporal software aging into Active and Dormant types. Our extensive analysis of over 9,000+ Open Source Software (OSS) repositories reveals that more than 21% repositories exhibit signs of SAAD as observed from our gold standard SAAD dataset. Notably, Dormant AD emerges as the predominant category, highlighting a critical but often overlooked aspect of software maintenance. Conclusion: As software volume grows annually, so do evolutionary aging and maintenance challenges; our proposed taxonomy can aid researchers in detailed software aging studies and help practitioners develop improved and proactive maintenance strategies.

软件老化技术债代码分析开源

Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。