基于版本间克隆映射的演化模式识别及谱系构建
2016-07-19张久杰翟晔王春晖张丽萍刘东升
计算机应用 2016年7期
关键词:研究
张久杰 翟晔 王春晖 张丽萍 刘东升



摘要:针对当前克隆谱系的构建方法较为复杂、演化模式亟需扩充等问题,提出了新的克隆代码演化模式,并根据软件版本间的克隆代码映射关系自动构建了克隆谱系。首先,针对软件每一版本进行克隆检测并利用潜在狄利克雷分配(LDA)抽取克隆代码的主题信息;然后,根据克隆代码主题的相似度确定版本间克隆代码的映射关系;进而,根据已有的映射关系为克隆代码添加演化模式并分析演化特征;最终,结合映射信息与演化模式信息完成克隆谱系的构建。针对4款开源软件进行了克隆谱系的构建实验,实验结果表明所提克隆谱系构建方法可行,证实了新提出的演化模式在克隆代码演化过程中确实存在。实验发现约90%的克隆代码在软件演化过程中比较稳定,约67%的克隆群经历的发布版本数不超过发布版本总数的一半。实验结论及理论分析将为克隆代码的后续研究及克隆代码的维护与管理提供有力支持。
关键词:
克隆代码;主题建模;软件演化;演化模式;克隆谱系;软件维护
中图分类号: TP311.5; TP18 文献标志码:A
0引言
克隆代码(Code Clone)是指软件系统中一些具有相同或者相似的语法或语义特征的代码片段。克隆代码在软件系统中普遍存在,并且与软件工程领域中的各类研究问题密切相关。软件单一版本中的基础性克隆代码数据已经难以呈现克隆代码在软件演化过程中的变化情况,因此,需要对软件中的克隆代码进行演化跟踪并分析演化情况,从而获得更全面的信息,为软件开发及维护提供更多帮助。……
登录APP查看全文
