摘要
基于代码修改的缺陷预测,具有代码审查量少、缺陷定位和修复快的优点。文中首次将该问题建模为多目标优化问题,其中一个优化目标是最大化识别出的缺陷代码修改数,另一个优化目标是最小化需要审查的代码量。这两个优化目标之间存在一定的冲突,因此提出了MULTI方法,该方法可以生成一组具有非支配关系的预测模型。在实证研究中,考虑了6个大规模开源项目(累计227417个代码修改),以ACC和POPT作为评测预测性能的指标。实验结果表明,MULTI方法的预测性能均显著优于经典的有监督建模方法(EALR和Logistic)和无监督建模方法(LT和AGE)。
Defect prediction based on code changes has the advantage of smaller code inspection cost,easy fault localization and rapid fixing.This paper firstly formalized this problem as a multi-objective optimization problem.One objective is to maximize the number of identified buggy changes,and the other objective is to minimize the cost of code inspection.There exist an obvious conflict between two objectives,so this paper proposed a novel method MULTI.This method can generate a set of non-dominated prediction models.In the empirical studies,this paper chose six large-scale open source projects(with 227417 code changes in total)and considerd ACC and POPT as evaluation indicators of performance.Final results show that the proposed method can perform significantly better than the state-of-the-art supervised methods(i.e.,EALR and Logistic)and unsupervised methods(i.e.,LT and AGE).
作者
陈翔
王秋萍
CHEN Xiang;WANG Qiu-ping(School of Computer Science and Technology,Nantong Universit;State Key Laboratory for Novel Software Technology at Nanjing Universit;Guangxi Key Laboratory of Trusted Software,Guilin University of Electronic Technolog)
出处
《计算机科学》
CSCD
北大核心
2018年第6期161-165,共5页
Computer Science
基金
国家自然科学基金(61202006
61602267)
南京大学计算机软件新技术国家重点实验室开放课题(KFKT2016B18)
广西可信软件重点实验室研究课题(kx201610)
江苏省高校自然科学研究项目(15KJB520030
16KJB520038)
南通市科技平台项目(CP120130001)资助
关键词
软件缺陷预测
多目标优化
代码修改
实证研究
Software defect prediction
Multi-objective optimization
Code changes
Empirical studie