Technical debt (TD) refers to suboptimal choices during software development that achieve short-term goals at the expense of long-term quality. Although developers often informally discuss TD, the concept has not yet crystalized into a consistently applied label when describing issues in most repositories. We apply machine learning to understand developer insights into TD when discussing tickets in an issue tracker. We generate expert labels that indicate whether discussion of TD occurs in the free text associated with each ticket in a sample of more than 1,900 tickets in the Chromium issue tracker. We then use these labels to train a classifier that estimates labels for the remaining 475,000 tickets. We conclude that discussion of TD appears in about 16% of the tracked Chromium issues. If we can effectively classify TD-related issues, we can focus on what practices could be most useful for their timely resolution.
翻译:技术债务(TD)指软件开发过程中以牺牲长期质量为代价实现短期目标的次优选择。虽然开发者经常非正式地讨论TD,但这一概念在描述大多数储存库的问题时还没有化为一贯应用的标签。我们运用机器学习来理解开发者对TD的洞察力,在问题追踪器中讨论门票时,我们使用专家标签来显示在每张票的自由文本中是否讨论TD,在铬发行跟踪器的1 900多张票中,我们用这些标签来训练一个估计其余475 000张门票的分类师。我们的结论是,对TD的讨论出现在追踪到的铬问题的16%左右。如果我们能够有效地对与TD有关的问题进行分类,我们就可以集中注意哪些做法最有助于及时解决它们。