首页> 中文期刊> 《软件学报》 >基于关键类判定的代码提交理解辅助方法

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

         

摘要

Code commit is one of the most important software evolution data,and it is widely used in the software review and code comprehension.A commit involving multiple modified classes and code makes the review of code changes difficult.By analyzing a large amount of commit data,this study discovers that identifying the core modified classes in a commit can speed up commit review for developers.Inspired by the effectiveness of machine learning techniques in classification,the paper models the core class identification as a binary classification problem (i.e.,core and non-core) and proposes discriminative features from a large number of commits to characterize the core modified classes.The experiments results show that the proposed approach achieves 87% accuracy,and using core class in commit review provides significant improvement than the ones without core class.%软件代码提交是最重要的软件版本演化数据之一,被广泛应用于软件审查和软件理解中.对于程序员,提交的理解难度随着受影响的类数量、修改的代码量的增加而增加.通过对大量数据的分析发现:识别出提交中核心的修改类(关键类)以及为了完成这个核心修改所进行的依赖性改动的类(非关键类),能够辅助代码提交的理解.受机器学习技术在分类领域有效性的启发,提出一种基于机器学习的关键类识别方法,将判定提交中的关键类建模为二分类问题(即关键和非关键类),从软件演化过程中产生的海量提交数据中抽取可判别性特征来度量类的关键性.在多个数据集上的实验结果表明:该方法判定关键类的综合准确率达到了87%;相比于开发人员直接理解提交,使用关键类信息提示来辅助理解提交,能够显著提高开发人员的效率和正确率.

著录项

  • 来源
    《软件学报》 |2017年第6期|1418-1434|共17页
  • 作者单位

    中山大学数据科学与计算机学院;

    广东广州510006;

    国家数字家庭工程技术研究中心;

    广东广州510006;

    中山大学数据科学与计算机学院;

    广东广州510006;

    国家数字家庭工程技术研究中心;

    广东广州510006;

    国家数字家庭工程技术研究中心;

    广东广州510006;

    中山大学先进技术研究院;

    广东广州 510006;

    北京大学信息科学技术学院软件研究所;

    北京100871;

    高可信软件技术教育部重点实验室(北京大学);

    北京 100871;

    中山大学数据科学与计算机学院;

    广东广州510006;

    国家数字家庭工程技术研究中心;

    广东广州510006;

  • 原文格式 PDF
  • 正文语种 chi
  • 中图分类 程序设计、软件工程;
  • 关键词

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

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号