-
题名基于类粒度的克隆代码群稳定性实证研究
- 1
-
-
作者
张久杰
陈超
聂宏轩
夏玉芹
张丽萍
马占飞
-
机构
包头师范学院计算机科学与技术系
内蒙古师范大学计算机科学技术学院
-
出处
《计算机科学》
CSCD
北大核心
2021年第5期75-85,共11页
-
基金
国家自然科学基金(61762071,61462071)
内蒙古自治区自然科学基金(2014MS0613,2015MS0606,2016MS0614,2019MS06037)
2020年度重庆市出版专项资金资助项目。
-
文摘
克隆代码研究与软件工程中的各类问题密切相关。现有的克隆代码稳定性研究主要集中于克隆代码与非克隆代码的比较以及不同克隆代码类型之间的比较,少有研究对克隆代码的稳定性与克隆群所分布的面向对象类进行相关分析。基于面向对象类的粒度进行了克隆群稳定性实证研究,设计了4项与克隆群稳定性相关的研究问题,围绕这些研究问题,将克隆群分为类内、类间和混合3组,并基于4种视角下的9个演化模式进行了克隆群稳定性的对比分析。首先,检测软件系统所有子版本中的克隆代码,识别并标注所有克隆代码片段所属的类信息;其次,基于克隆片段映射方法完成相邻版本间克隆群的演化映射和演化模式的识别与标注,并将映射和标注结果合并为克隆代码演化谱系;然后,在不同视角下,针对3组克隆群进行稳定性计算;最后,根据实验结果对比分析了3组克隆群的稳定性差异。在7款面向对象开源软件系统总共近7700个版本上进行的克隆群稳定性实验结果表明:约60%的类内克隆群的生命周期率达到50%及以上,类间克隆和混合克隆群的生命周期率达到50%及以上的占比均约为35%;类内克隆群发生变化的次数最少,类间克隆群发生合并、分枝和延迟修复演化模式的次数相对略多,混合克隆群发生片段减少、内容一致变化和不一致变化的次数最多。总体而言,类内克隆群的稳定性表现最佳,混合克隆群在演化中可能需要重点跟踪或优先重构。克隆代码稳定性分析方法及实验结论将为克隆代码的跟踪、维护以及重构等克隆管理相关软件活动提供有力的参考和支持。
-
关键词
软件演化
软件维护
克隆代码
稳定性
类内克隆
类间克隆
混合克隆
-
Keywords
Software evolution
Software maintenance
Clone code
Stability
intra-class-clone
Inter-class clone
Hybrid-class clone
-
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]
-