《软件学报杂志》发表论文赏析

基于关键类判定的代码提交理解辅助方法

来源:软件学报杂志2017年第6期北京时间:

作者:黄袁,刘志勇,陈湘萍,熊英飞,罗笑南

单位:黄袁,中山大学 数据科学与计算机学院, 广东 广州 510006;国家数字家庭工程技术研究中心, 广东 广州 51000611,刘志勇,中山大学 数据科学与计算机学院, 广东 广州 510006;国家数字家庭工程技术研究中心, 广东 广州 51000602,陈湘萍,国家数字家庭工程技术研究中心, 广东 广州 510006;中山大学 先进技术研究院, 广东 广州 51000603,熊英飞,北京大学 信息科学技术学院 软件研究所, 北京 100871;高可信软件技术教育部重点实验室(北京大学), 北京 10087104,罗笑南,中山大学 数据科学与计算机学院, 广东 广州 510006;国家数字家庭工程技术研究中心, 广东 广州 51000605

摘要:软件代码提交是最重要的软件版本演化数据之一,被广泛应用于软件审查和软件理解中.对于程序员,提交的理解难度随着受影响的类数量、修改的代码量的增加而增加.通过对大量数据的分析发现:识别出提交中核心的修改类(关键类)以及为了完成这个核心修改所进行的依赖性改动的类(非关键类),能够辅助代码提交的理解.受机器学习技术在分类领域有效性的启发,提出一种基于机器学习的关键类识别方法,将判定提交中的关键类建模为二分类问题(即关键和非关键类),从软件演化过程中产生的海量提交数据中抽取可判别性特征来度量类的关键性.在多个数据集上的实验结果表明:该方法判定关键类的综合准确率达到了87%;相比于开发人员直接理解提交,使用关键类信息提示来辅助理解提交,能够显著提高开发人员的效率和正确率.

关键词:代码修改;代码修改理解;代码提交;机器学习;可判别特征

基金资助:NSFC-广东联合基金(U1201252);国家重点研发计划(2016YFB1000101);国家自然科学基金(61672545,61672045);广东科技计划(2015B040403005)

填文献完整题目 获取完整文献

填写需求
联系方式
注:学术顾问会在1小时内联系您,请留意!