摘要
技术债是一个指以牺牲长期代码质量为代价来实现短期项目目标的隐喻.其中,那些由开发者有意引入项目中的技术债被称为自承认技术债(self-admitted technical debt,SATD),通常以代码注释的形式存在于软件项目中.SATD的存在给软件质量和鲁棒性带来了巨大挑战.为了识别并且及时地偿还SATD来保障代码质量,研究者从特性分析和识别模型两方面进行了大量研究并且取得了较大的进展.与此同时,相关研究工作中仍存在一些亟待解决的挑战.对近年来国内外学者在该领域的研究成果进行系统性的总结.首先,描述自承认技术债的研究问题.然后,分别从特性分析和识别模型两方面总结相关的研究进展,并对具体的理论和技术途径进行梳理.接着,简要介绍技术债的其他相关技术.最后,指出目前该领域研究过程中面临的挑战并给出建议的研究方向.
Technical debt is a metaphor that refers to sacrifice the long-term code quality to satisfy the short-term goals.In particular,the technical debts introduced intentionally by developers are called self-admitted technical debt(SATD),which usually exist in software projects in the form of code comments.The SATDs bring great challenges to quality and robustness of software.In order to facilitate finding and paying back them as soon as possible for assuring software quality,in recent years,great progress has been made in the field of investigating the characteristics of SATD and proposing the identification models for SATD.Nevertheless,it is still challenging to apply them in practice.This paper offers a systematic survey of recent research achievements in SATD.First,the research problems are introduced in this field.Then,the current main research work is described in detail.After that,related techniques are discussed.Finally,the opportunities and challenges in this field are summarized and the research directions in the future are outlined.
作者
郭肇强
刘释然
谭婷婷
李言辉
陈林
周毓明
徐宝文
GUO Zhao-Qiang;LIU Shi-Ran;TAN Ting-Ting;LI Yan-Hui;CHEN Lin;ZHOU Yu-Ming;XU Bao-Wen(State Key Laboratory for Novel Software Technology(Nanjing University),Nanjing 210023,China;Department of Computer Science and Technology,Nanjing University,Nanjing 210023,China;Beijing ByteDance Co.Ltd.,Beijing 100086,China)
出处
《软件学报》
EI
CSCD
北大核心
2022年第1期26-54,共29页
Journal of Software
基金
国家重点研发计划(2018YFB1003901)
国家自然科学基金(61772259,61872177)。
关键词
技术债
自承认技术债
代码注释
软件维护
质量保障
technical debt
self-admitted technical debt(SATD)
code comment
software maintenance
quality assurance