首页> 外文会议>IEEE International Working Conference on Source Code Analysis and Manipulation >Automated Identification of On-hold Self-admitted Technical Debt
【24h】

Automated Identification of On-hold Self-admitted Technical Debt

机译:自动识别保留的自行承担的技术债务

获取原文

摘要

Modern software is developed under considerable time pressure, which implies that developers more often than not have to resort to compromises when it comes to code that is well written and code that just does the job. This has led over the past decades to the concept of “technical debt”, a short-term hack that potentially generates long-term maintenance problems. Self-admitted technical debt (SATD) is a particular form of technical debt: developers consciously perform the hack but also document it in the code by adding comments as a reminder (or as an admission of guilt). We focus on a specific type of SATD, namely “On-hold” SATD, in which developers document in their comments the need to halt an implementation task due to conditions outside of their scope of work (e.g., an open issue must be closed before a function can be implemented).We present an approach, based on regular expressions and machine learning, which is able to detect issues referenced in code comments, and to automatically classify the detected instances as either “On-hold” (the issue is referenced to indicate the need to wait for its resolution before completing a task), or as “cross-reference”, (the issue is referenced to document the code, for example to explain the rationale behind an implementation choice). Our approach also mines the issue tracker of the projects to check if the On-hold SATD instances are “superfluous” and can be removed (i.e., the referenced issue has been closed, but the SATD is still in the code). Our evaluation confirms that our approach can indeed identify relevant instances of On-hold SATD. We illustrate its usefulness by identifying superfluous On-hold SATD instances in open source projects as confirmed by the original developers.
机译:现代软件是在相当长的时间压力下开发的,这意味着开发人员在编写良好的代码和仅能完成工作的代码时,往往不必采取妥协的方式。在过去的几十年中,这导致了“技术债务”的概念,这是一种短期黑客,有可能产生长期维护问题。自行承担的技术债务(SATD)是技术债务的一种特殊形式:开发人员有意识地进行黑客攻击,但也通过添加注释以提醒(或承认有罪)将其记录在代码中。我们专注于一种特殊的SATD类型,即“保留” SATD,在该类型中,开发人员在其注释中记录了由于工作范围之外的条件而导致停止执行任务的需要(例如,必须先解决一个未解决的问题,然后才能解决该问题)我们提供了一种基于正则表达式和机器学习的方法,该方法能够检测代码注释中引用的问题,并将检测到的实例自动分类为“保留”(引用了该问题)表示需要在完成任务之前等待其解决)或作为“交叉引用”(此问题被引用以记录代码,例如,解释实现选择的原理)。我们的方法还挖掘了项目的问题跟踪器,以检查保留的SATD实例是否“多余”并且可以删除(即,已引用的问题已关闭,但SATD仍在代码中)。我们的评估证实,我们的方法确实可以识别出暂挂SATD的相关实例。我们通过确定原始开发人员确认的开源项目中多余的On-hold SATD实例来说明其用途。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号