...
首页> 外文期刊>Information and software technology >Mining software repositories for adaptive change commits using machine learning techniques
【24h】

Mining software repositories for adaptive change commits using machine learning techniques

机译:使用机器学习技术挖掘用于自适应变更提交的软件存储库

获取原文
获取原文并翻译 | 示例
   

获取外文期刊封面封底 >>

       

摘要

Context Version Control Systems, such as Subversion, are standard repositories that preserve all of the maintenance changes undertaken to source code artifacts during the evolution of a software system. The documented data of the version history are organized as commits; however, these commits do not keep a tag that would identify the purpose of the relevant undertaken change of a commit, thus, there is rarely enough detail to clearly direct developers to the changes associated with a specific type of maintenance.Objective: This work examines the version histories of an open source system to automatically classify version commits into one of two categories, namely adaptive commits and non-adaptive commits.Method: We collected the commits from the version history of three open source systems, then we obtained eight different code change metrics related to, for example, the number of changed statements, methods, hunks, and files. Based on these change metrics, we built a machine learning approach to classify whether a commit was adaptive or not.Results: It is observed that code change metrics can be indicative of adaptive maintenance activities. Also, the classification findings show that the machine learning classifier developed has approximately 75% prediction accuracy within labeled change histories.Conclusion: The proposed method automates the process of examining the version history of a software system and identifies which commits to the system are related to an adaptive maintenance task. The evaluation of the method supports its applicability and efficiency. Although the evaluation of the proposed classifier on unlabeled change histories shows that it is not much better than the random guessing in terms of F-measure, we feel that our classifier would serve as a better basis for developing advanced classifiers that have predictive power of adaptive commits without the need of manual efforts.
机译:上下文版本控制系统(例如Subversion)是标准存储库,可以保留在软件系统演进过程中对源代码工件进行的所有维护更改。版本历史记录的数据组织为提交。但是,这些提交没有保留用于标识提交的相关变更的目的的标签,因此,很少有足够的细节来清楚地将开发人员引导到与特定维护类型相关的变更。开源系统的版本历史,用于将版本提交自动分类为自适应提交和非自适应提交两类之一。方法:我们从三个开源系统的版本历史中收集了提交,然后获得了八种不同的代码更改与(例如)已更改的语句,方法,块和文件的数量有关的度量。基于这些变更指标,我们构建了一种机器学习方法来对提交是否具有适应性进行分类。结果:可以看出,代码变更指标可以指示适应性维护活动。分类结果还表明,在标记的更改历史记录中,开发的机器学习分类器具有约75%的预测准确度。结论:所提出的方法可自动检查软件系统的版本历史记录的过程,并识别与系统有关的提交与适应性维护任务。该方法的评估支持其适用性和效率。尽管对未标记的变化历史对拟议分类器的评估表明,就F测度而言,分类器并不比随机猜测好多少,但我们认为我们的分类器将为开发具有自适应预测能力的高级分类器提供更好的基础无需手动操作即可提交。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号