10.3321/j.issn:1001-0505.2008.02.009
基于AST的克隆序列与克隆类识别
为了减少代码冗余,改善程序结构,提出一种新的基于抽象语法的代码克隆识别方法,归纳出常见的代码克隆形式并给出相应的重构技术.用二叉树表示源程序的抽象语法(BAST),逐条判断各语句BAST子树的同构性,识别出相似的语句序列作为克隆序列;根据子树同构识别一元克隆类,然后通过克隆类的连接操作,逐步识别二元及任意元数的克隆类.实验分析了多个开源软件,识别出了其中的克隆序列以及克隆类,从中归纳出4种常见的代码克隆,其基本特征分别为:相同的程序点访问同类对象的不同属性、部分变量名不同、针对不同的数据类型实施相同的操作、修改克隆区域外定义的变量,并对这4种代码有效地实施了重构.
代码克隆、克隆识别、克隆类、软件维护
38
TP311(计算技术、计算机技术)
国家自然科学基金60425206;国家自然科学基金60503020;江苏省自然科学基金BK2006094;江苏省高技术研究发展计划项目BG2005032
2008-05-26(万方平台首次上网日期,不代表论文的发表时间)
共5页
228-232