期刊文献+

基于软件演化历史识别并推荐重构克隆的方法 被引量:1

Method for Identifying and Recommending Reconstructed Clones Based on Software Evolution History
下载PDF
导出
摘要 现有克隆代码重构研究局限于单一版本的静态分析,忽略了克隆代码的演化过程,这导致在克隆代码重构决策方面缺乏有效的方法。因此文中首先从克隆检测、克隆映射、克隆家系以及软件维护日志管理系统中提取与克隆代码密切相关的演化历史信息;其次识别出需要重构的克隆代码,同时识别出跟踪的克隆代码,然后提取与重构相关的静态特征和演化特征,并构建特征样本数据库;最后对比多种机器学习的方法对,选出效果最佳的分类器推荐重构克隆。在7款软件近170个版本上进行的实验表明,推荐重构克隆代码的准确度达到90%以上,这为软件开发和维护人员提供了更加准确、合理的代码重构建议。 The research on the existing clone code reconstruction is limited to a single version of static analysis while ignoring the evolution process of the cloned code,resulting in a lack of effective methods for reconstructing the cloned code.Therefore,this paper firstly extracted the evolution history information closely related to the clone code from clone detection,clone mapping,clone family and software maintenance log management system.Secondly,the clone code that needs to be reconstructed was identified,and the traced clone code was identified at the same time.Then,static features and evolution features were extracted and reconstructed and a feature sample database was built.Finally,a variety of machine learning methods were used to compare and select the best classifier recommended reconstruction of clones.In this paper,experiments were performed on nearly 170 versions of 7 software.The results show that the readiness for reconstructing cloned code is more than 90%.It provides more accurate and reasonable code reconstruction suggestions for software development and maintenance personnel.
作者 折蓉蓉 张丽萍 SHE Rong-rong;ZHANG Li-ping(College of Computer and Information Engineering,Inner Mongolia Normal University,Hohhot 010022,China)
出处 《计算机科学》 CSCD 北大核心 2019年第8期224-232,共9页 Computer Science
基金 国家自然科学基金资助项目(61462071) 内蒙古自然科学基金资助项目(2018MS06009) 内蒙古教育厅资助项目(NJZY17049) 内蒙古师范大学科研基金项目(2016ZRYB003)资助
关键词 克隆代码 克隆重构 克隆跟踪 克隆家系 特征提取 Code clone Clone refactoring Clone tracking Clone family Feature extraction
  • 相关文献

参考文献7

二级参考文献51

  • 1Bettenburg N, Shang W, Ibrahim W, et al. An empirical study on inconsistent changes to code clones at release level [C] //Proc of the 16th Working Conference on Reverse Engi- neering. IEEE Press, 2009: 85-94.
  • 2Zibran M F, Roy C K. The road to software clone manage- ment: A survey [R]. Technical Report, The University of Saskatchewan, 2012: 1-66.
  • 3Saha R K, Asduzzaman M, Zibran M F, et al. Evaluating code clone genealogies at release level: An empirical study [C] //Proceedings of the 10th IEEE Working Conference on Source Code Analysis and Manipulation. Washington DC: IEEE Computer Society, 2010: 87-96.
  • 4Bakota T, Ferenc R, Gyimothy T. Clone smells in software evolution [C] //IEEE International Conference on Software Maintenance. Washington DC: IEEE Computer Society, 2007 : 24-33.
  • 5Saha R K, Roy C K, Schneider K A. An automatic framework for extracting and classifying near-miss clone genealogies [C] //27th IEEE International Conference on Software Main- tenance, ZO11 29-302.
  • 6Barbour L, Khomh F, Zou Y. Late propagation in software clones [C] //Proceedings of the 27th IEEE International Con- ference on Software Maintenance. Washington DC: IEEE Computer Society, 2011: 273-282.
  • 7Gode N, Koschke R. Incremental clone detection [C] //Pro- ceedings of the European Conference on Software Maintenance and Reengineering. Washington DC: IEEE Computer Society, 2009 : 219-228.
  • 8Duala-Ekoko E, Robillard M P. Tracking code clones in evol- ving software [C] //Proceedings of the 29th International Conference on Software Engineering. Washington DC: IEEE Computer Society, 2007 .. 158-167.
  • 9Grant S, Cordy J. Estimating the optimal number of latent con- cepts in source code analysis [C] //10th IEEE Working Conference on Source Code Analysis and Manipulation, 2010: 65-74.
  • 10Lukins S, Kraft N, Etzkorn L. Bug localization using latent Diriehlet allocation [J]. Information and Software Technolo- gy, 2010, 52 (9): 972-990.

共引文献25

同被引文献2

引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部