期刊文献+

基于贝叶斯网络的克隆代码有害性预测 被引量:8

Harmfulness prediction of clone code based on Bayesian network
下载PDF
导出
摘要 在软件开发过程中,程序员的复制、粘贴活动会产生大量的克隆代码,而那些发生不一致变化的克隆代码往往对程序是有害的。为了解决该问题,有效地发现程序中的有害克隆代码,提出一种基于贝叶斯网络的克隆有害性预测方法。首先,结合软件缺陷研究领域与克隆演化领域的相关研究成果,提出了两大类表征克隆代码信息的特征,分别是静态特征和演化特征;其次,通过贝叶斯网络核心算法来构建克隆有害性预测模型;最后,预测有害克隆代码发生的可能性。在5款C语言开源软件共99个版本上对克隆有害性预测模型的性能进行评估,实验结果表明该方法能够有效地实现对克隆代码有害性的预测,降低有害克隆代码对软件的威胁,提高软件质量。 During the process of software development, activities of programmers including copy and paste result in a lot of code clones. However, the inconsistent code changes are always harmful to the programs. To solve this problem, and find harmful code clones in programs effectively, a method was proposed to predict harmful code clones by using Bayesian network.First, referring to correlation research on software defects prediction and clone evolution, two software metrics including static metrics and evolution metrics were proposed to characterize the features of clone codes. Then the prediction model was constructed by using core algorithm of Bayesian network. Finally, the probability of harmful code clones occurrence was predicted. Five different types of open-source software system containing 99 versions written in C languages were tested to evaluate the prediction model. The experimental results show that the proposed method can predict harmfulness for clones with better applicability and higher accuracy, and further reduce the threat of harmful code clones while improving software quality.
出处 《计算机应用》 CSCD 北大核心 2016年第1期260-265,共6页 journal of Computer Applications
基金 国家自然科学基金资助项目(61363017 61462071) 内蒙古自然科学基金资助项目(2014MS0613)~~
关键词 克隆代码 有害性预测 贝叶斯网络 克隆演化 机器学习 clone code harmfulness prediction Bayesian network clone evolution machine learning
  • 相关文献

参考文献14

  • 1BETTENBURG N, SHANG W, IBRAHIM W, et al. An empirical study on inconsistent changes to code clones at release level [C]// Proceedings of the 2009 16th Working Conference on Reverse Engineering. Piscataway, NJ: IEEE, 2009: 85-94.
  • 2ZIBRAN M F, ROY C K. The road to software clone management: a survey [R]. Saskatchewan, Canada: University of Saskatchewan, 2012: 1-66.
  • 3KOSCHKE R. Seventh international workshop on softwareclones [EB/OL]. [2015-02-15]. http://softwareclones.org/iwsc2013/.
  • 4ROY K C. Detection and analysis of near-miss software clones [C]// ICSM 2009: Proceedings of the Doctoral Symposium Track of the 25th IEEE International Conference on Software Maintenance. Piscataway, NJ: IEEE, 2009: 447-450.
  • 5叶进,林士敏.基于贝叶斯网络的推理在移动客户流失分析中的应用[J].计算机应用,2005,25(3):673-675. 被引量:12
  • 6BAKOTA T. Tracking the evolution of code clones [C]// SOFSEM 2011: Proceedings of the 37th Conference on Current Trends in Theory and Practice of Computer Science, LNCS 6543. Berlin: Springer, 2011: 86-98.
  • 7BAKOTA T, FERENC R, GYIMOTHY T. Clone smells in software evolution [C]// ICSM'07: Proceedings of the 2007 International Conference on Software Maintenance. Piscataway, NJ: IEEE, 2007: 24-33.
  • 8JUERGEBS E, DEISSENBOECK F, HUMMEL B, et al. Do code clones matter? [C]// ICSE'09: Proceedings of the 31st International Conference on Software Engineering. Piscataway, NJ: IEEE, 2009: 485-495.
  • 9BARBOUR L, KHOMH F, ZOU Y. An empirical study of faults in late propagation clone genealogies [J]. Journal of software: evolution and process, 2013, 25(11): 1137-1138.
  • 10史庆庆,张丽萍,尹丽丽,刘东升.基于后缀数组的克隆检测[J].计算机工程,2013,39(9):123-127. 被引量:7

二级参考文献78

  • 1Kamiya T, Kusumoto S, Inoue K. CCFinder: A Multi-linguistic Token-based Code Clone Detection System for Large Scale Source Code[J]. IEEE Transactions on Software Engineering, 2002, 28(7): 654-670.
  • 2Deissenboeck F, Hummel B, Juergens E. Code Clone De- tection in Practice[C]//Proc. of the 32nd ACM/IEEE Inter- national Conference on Software Engineering. Cape Town, South Africa: ACM Press, 2010.
  • 3Roy C K, Cordy J R, Koschke R. Comparison and Evaluation of Code Clone Detection Techniques and Tools: A Qualitative Approach[J]. Science of Computer Programming, 2009, 74(7): 470-495.
  • 4Johnson J H. Identifying Redundancy in Source Code Using Fingerprints[C]//Proc. of Centre for Advanced Studies on Collaborative Research: Software Engineering. [S. 1.]: IBM Press, 1993.
  • 5Baker B S. On Finding Duplication and Near-duplication in Large Software Systems[C]//Proc. of the 2nd Working Conference on Reverse Engineering. Toronto, Canada: IEEE Press, 1995.
  • 6Li Zhenmin, Lu Shan, Myagmar S, et al. CP-Miner: Finding Copy-paste and Related Bugs in Large Scale Software Code[J] IEEE Transactions on Software Engineering, 2006, 32(3): 176-192.
  • 7Baxter I, Andrew Y, Moura L, et al. Clone Detection Using Abstract Syntax Trees[C]//Proc. of International Conference on Software Maintenance. Bethesda, USA: IEEE Press, 1998.
  • 8Mayrand J, Leblanc C, Merlo E. Experiment on the Automatic Detection of Function Clones in a Software System Using Metrics[C]//Proc. of International Conference on Software Maintenance. Monterey, USA: IEEE Press, 1996.
  • 9Davis I, Godfrey M. From Whence It Came: Detecting Source Code Clones by Analyzing Assembler[C]//Proc. of the 17th Working Conference on Reverse Engineering. Beverly, USA: IEEE Press, 2010.
  • 10Keivanloo I, Roy C K, Rilling J. Java Bytecode Clone Detection via Relaxation on Code Fingerprint and Semantic Web Reasoning[C]//Proc. of the 6th International Workshop on Sot:ware Clones. Zurich, Switzerland: [s. n.], 2012.

共引文献32

同被引文献42

引证文献8

二级引证文献6

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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