论文标题
超越代码:在问题跟踪器系统中采矿自我吸引的技术债务
Beyond the Code: Mining Self-Admitted Technical Debt in Issue Tracker Systems
论文作者
论文摘要
自我加热的技术债务(SATD)是技术债务(TD)的一个特殊情况,开发人员明确承认其次优的实施决策。以前的研究通过在源代码注释中搜索特定的与TD相关的术语来进行SATD。相比之下,在本文中,我们认为开发人员可以通过其他方式来承认技术债务,例如,在跟踪系统中创建问题并将其标记为TD。我们将这种类型的SATD称为基于问题的SATD或SATD-I。我们研究了从五个开源项目中收集的286个SATD-I实例的样本,包括Microsoft Visual Studio和Gitlab Community Edition。我们证明,只有29%的SATD-I实例可以跟踪来源代码注释。我们还表明,与其他问题相比,SATD-I问题需要更多的时间才能关闭,尽管它们在代码流失方面并不复杂。此外,在45%的研究问题中,TD提前引入了Ship,几乎60%是指设计缺陷。最后,我们报告说,大多数开发人员向SATD-I支付以降低其成本或利息(66%)。我们的发现表明,设计新型工具以支持技术债务管理的空间,特别是鼓励开发人员创建和标记包含TD问题的问题的工具。
Self-admitted technical debt (SATD) is a particular case of Technical Debt (TD) where developers explicitly acknowledge their sub-optimal implementation decisions. Previous studies mine SATD by searching for specific TD-related terms in source code comments. By contrast, in this paper we argue that developers can admit technical debt by other means, e.g., by creating issues in tracking systems and labelling them as referring to TD. We refer to this type of SATD as issue-based SATD or just SATD-I. We study a sample of 286 SATD-I instances collected from five open source projects, including Microsoft Visual Studio and GitLab Community Edition. We show that only 29% of the studied SATD-I instances can be tracked to source code comments. We also show that SATD-I issues take more time to be closed, compared to other issues, although they are not more complex in terms of code churn. Besides, in 45% of the studied issues TD was introduced to ship earlier, and in almost 60% it refers to Design flaws. Finally, we report that most developers pay SATD-I to reduce its costs or interests (66%). Our findings suggest that there is space for designing novel tools to support technical debt management, particularly tools that encourage developers to create and label issues containing TD concerns.