Technical Debt is a metaphor used to describe the situation in which long-term software artifact quality is traded for short-term goals in software projects. In recent years, the concept of self-admitted technical debt (SATD) was proposed, which focuses on debt that is intentionally introduced and described by developers. Although prior work has made important observations about admitted technical debt in source code, little is known about SATD in build systems. In this paper, we set out to better understand the characteristics of SATD in build systems. To do so, through a qualitative analysis of 500 SATD comments in the Maven build system of 291 projects, we characterize SATD by location and rationale (reason and purpose). Our results show that limitations in tools and libraries, and complexities of dependency management are the most frequent causes, accounting for 50% and 24% of the comments. We also find that developers often document SATD as issues to be fixed later. As a first step towards the automatic detection of SATD rationale, we train classifiers to detect the two most frequently occurring reasons and the four most frequently occurring purposes of SATD in the content of comments in Maven build systems. The classifier performance is promising, achieving an F1-score of 0.71-0.79. Finally, within 16 identified 'ready-to-be-addressed' SATD instances, the three SATD submitted by pull requests and the five SATD submitted by issue reports were resolved after developers were made aware. Our work presents the first step towards understanding technical debt in build systems and opens up avenues for future work, such as tool support to track and manage SATD backlogs.
翻译:技术债务是一种隐喻,用来描述长期软件工艺品质量在软件项目短期目标中交易的情况。近年来,提出了自我承认的技术债务概念(SATD),重点是开发商有意引入和描述的债务。虽然先前的工作对源代码中承认的技术债务提出了重要意见,但在建设系统中对SATD却鲜为人知。在本文件中,我们准备更好地了解SATD在建设系统中的特点。为此,通过对马文291项目建设系统中500份SATD的开放性评论进行质量分析,我们根据地点和理由(理由和目的)将SATD定性为STD。我们的结果显示,工具和图书馆的局限性以及依赖性管理的复杂性是最常见的原因,占评论的50%和24%。我们还发现,开发商经常将SATD作为问题在建设系统中的固定下来,我们培训分类员在马文建设系统评论中首次发现的两个最经常出现的原因和最经常出现的SATD的积压目的。在SARTD系统里,通过SGAR-DSA的升级工作成绩报告显示,最后在SA-SA-MRMRRRRR 16期中,在SA-SAR SA-RO SA-SAR SA-S-SAR-SA-SAR-S-S-S-S-S-S-SAR-SAR-SAR-SAR-S-SAR-SAR-S-S-SAR-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-SAR-SAR-S-SD-S-SD-SD-SD-SD-SD-S-S-S-S-SD-SD-SD-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-SD-SD-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S-S