首页> 外文会议>Euromicro Conference on Software Engineering and Advanced Applications >Refactoring, Bug Fixing, and New Development Effect on Technical Debt: An Industrial Case Study
【24h】

Refactoring, Bug Fixing, and New Development Effect on Technical Debt: An Industrial Case Study

机译:重构,错误修复和新开发对技术债务的影响:工业案例研究

获取原文

摘要

Code evolution, whether related to the development of new features, bug fixing, or refactoring, inevitably changes the quality of the code. One particular type of such change is the accumulation of Technical Debt (TD) resulting from sub-optimal design decisions. Traditionally, refactoring is one of the means that has been acknowledged to help to keep TD under control. Developers refactor their code to improve its maintainability and to repay TD (e.g., by removing existing code smells and anti-patterns in the source code). While the accumulation of the TD and the effect of refactoring on TD have been studied before, there is a lack of empirical evidence from industrial projects on how the different types of code changes affect the TD and whether specific refactoring operations are more effective for repaying TD. To fill this gap, we conducted an empirical study on an industrial project and investigated how Refactoring, Bug Fixing, and New Development affect the TD. We have analyzed 2, 286 commits in total to identify which activities reduced, kept the same, or even increased the TD, further delving into specific refactoring operations to assess their impact. Our results suggest that TD in the studied project is mainly introduced in the development of new features (estimated in 72.8 hours). Counterintuitively, from the commits tagged as refactoring, only 22.90% repay TD (estimated to repay 8.30 hours of the TD). Moreover, while some types of refactoring operations (e.g., Extract Method), help repaying TD, other refactoring operations (e.g., Move Class) are highly prone to introduce more TD.
机译:无论是与新功能的开发,错误修复还是重构有关的代码演变,都不可避免地会改变代码的质量。这种更改的一种特殊类型是次优设计决策导致的技术债务(TD)累积。传统上,重构是公认的有助于保持TD受控的手段之一。开发人员重构其代码以提高其可维护性并偿还TD(例如,通过删除源代码中现有的代码气味和反模式)。尽管之前已经研究了TD的累积以及重构对TD的影响,但是缺乏工业项目的经验证据,这些证据表明不同类型的代码更改如何影响TD以及特定的重构操作对于偿还TD是否更有效。为了填补这一空白,我们对一个工业项目进行了实证研究,并研究了重构,错误修复和新开发如何影响TD。我们总共分析了2项286项提交,以确定哪些活动减少,保持不变甚至增加了TD,从而进一步研究特定的重构操作以评估其影响。我们的结果表明,研究项目中的TD主要引入了新功能的开发(估计在72.8小时内)。与直觉相反,从标记为重构的提交中,只有22.90%的TD偿还了TD(估计偿还了TD的8.30小时)。而且,尽管某些类型的重构操作(例如,提取方法)有助于偿还TD,但是其他重构操作(例如,移动类)很容易引入更多的TD。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号