APP下载

基于决策树推荐克隆重构的方法

2018-08-27折蓉蓉张丽萍

计算机应用 2018年7期
关键词:特征检测方法

折蓉蓉,张丽萍,侯 敏,闫 盛

(内蒙古师范大学 计算机与信息工程学院,呼和浩特 010022)(*通信作者电子邮箱cieczlp@imnu.edu.cn)

0 引言

近年来软件开发环境、操作系统及软件相关领域的不断发展,导致软件复用的规模越来越大,软件开发的成果被越来越多的人们直接复用。为了提高软件的开发效率,开发人员会复用大量的代码,被复用的代码称为克隆代码[1],据统计一个软件系统中的克隆代码达到9%~17%,有的甚至达到50%以上[2]。

克隆代码的大量使用导致了软件复杂性的增加,仅仅检测出克隆代码并不能降低软件维护成本。现有研究表明,重构与软件的质量(如可维护性和稳定性)有着密切的联系,经过重构的克隆代码往往比未经过重构的克隆代码具有更高的质量,所以重构对于软件的进化具有积极的意义。

重构软件系统中克隆所有代码是不切实际的,也不是所有克隆代码都需要重构,虽然预测克隆重构代码的方法相继提出,然而国内外针对机器学习预测出需要重构的克隆代码的方法极少,因此本文将重构作为一个机器学习问题,预测需要重构的克隆代码,以降低软件的复杂性和维护成本。

1 相关工作

1.1 克隆代码定义及分类

当前,人们广泛采用的克隆代码的概念是将具有相似语法及语义特征的代码段称为克隆代码[3]。基于对代码质量造成重要影响的是克隆代码的大量使用,近年来代码分析领域中比较活跃的分支为克隆代码的相关研究。克隆代码的类型从不同的角度进行划分,当前进行分类的角度主要分为两种。……

登录APP查看全文

猜你喜欢

特征检测方法
如何表达“特征”
不忠诚的四个特征
小波变换在PCB缺陷检测中的应用
用对方法才能瘦
四大方法 教你不再“坐以待病”!
捕鱼
线性代数的应用特征