文档名:基于序列模式挖掘和贝叶斯算法的代码克隆检测
随着应用软件功能的不断扩展,项目规模也随之迅速增大,同时也给整个代码工程增加了巨大的维护和重构成本代码克隆检测作为减少软件维护成本,提升软件重构效率的重要手段,已成为众多高效维护和重构工作中不可或缺的一部分如何有效地检测出克隆代码是工程师们亟待解决的问题本文提出一套完整的基于机器学习算法来检测代码克隆的方法(SequencePatternMiningandBayes,SPMB)尤其是对实现相似或相同功能逻辑的克隆代码集合进行序列模式挖掘,利用挖掘出的特征序列构造出基于朴素贝叶斯算法的分类器进行测试代码的功能分类,通过分类的结果来判断克隆代码的业务逻辑此外,该方法还包含反馈机制,通过不断优化训练集,使其具有不断自我学习的能力将SPMB方法应用于IJaDataset2.0数据集的实验结果表明,通过不断调优阈值,将F1-Score从0.65提高到了0.96,为代码克隆提供了一种有效的检测手段.
作者:徐博文夏鑫才振功张芸李善平
作者单位:浙江大学计算机科学与技术,浙江杭州310027
母体文献:第十四届全国软件与应用学术会议论文集
会议名称:第十四届全国软件与应用学术会议
会议时间:2015年11月6日
会议地点:武汉
主办单位:中国计算机学会
语种:chi
分类号:TP3F27
关键词:软件维护 序列模式挖掘 贝叶斯算法 代码克隆
在线出版日期:2017年7月25日
基金项目:
相似文献
相关博文
- 文件大小:
- 589.75 KB
- 下载次数:
- 60
-
高速下载
|
|