软件克隆谱系构建及演化特征提取研究

被引量 : 0次 | 上传用户:crazyapple123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
克隆代码是指软件中相同或相似的源代码段,其在软件开发与维护中具有重要影响。虽然克隆代码有时会给软件维护带来负面影响,但大量进行重构或去除并不可取,有些克隆代码长期存在且没有发生过变化,通常是无害的,重构这类克隆代码会浪费不必要的维护成本。从维护角度看,应充分了解克隆代码的特征,有选择地对克隆代码进行管理。而基于软件多版本演化研究克隆代码的演变情况,可以分析克隆代码在软件演化过程中表现出来的模式和特征,开发人员可以利用这些信息更有效地管理克隆代码。本文选取Type-1、Type-2类型函数克隆作为研究对象,开展软件克隆谱系构建及演化特征提取研究,主要工作如下:1.首先,获取软件多版本克隆代码检测结果,然后基于克隆代码的Token表示及其所在文件名称、函数名称等位置属性,准确映射软件相邻版本间的克隆代码,为构建克隆谱系奠定基础。2.针对相邻版本间的克隆映射结果,为每条映射线索添加对应的克隆群演化模式,包括无变化、增加、去除、一致变化和不一致变化五种模式。在实验选用的9款开源软件中,这五种演化模式的平均占比分别为80.90%、8.33%、8.01%、2.48%和0.28%。3.合并所有相邻版本间的克隆映射结果和演化模式信息,完成克隆谱系的构建。实验结果表明,对于稳定演化的软件,克隆谱系的规模和研究的版本数量成正比例关系。4.基于构建好的克隆谱系,提取相关克隆演化特征。对9款开源软件中克隆代码演化的稳定性进行了分析,发现当前版本中克隆代码生命周期平均占所研究版本总数的72.54%,且大部分没有发生过变化,说明大部分克隆能被较好地维护,但也存在少量不稳定的克隆可能导致软件缺陷,需要修改或重构。
其他文献
从西藏当雄温泉附近的土壤中用锥虫蓝平板,55℃培养,筛选到一株分泌高温淀粉酶的菌株,经生理生化初步鉴定后,克隆16s rDNA基因测序,提交GenBank比对后,鉴定为地衣芽孢杆菌(Ba
目的:探讨高中生的完美主义与心理健康的关系。方法:用Frost多维完美主义量表(FMPS)和症状自评量表(SCL-90)对609名高中生进行测量。结果:高中生具有中度完美主义倾向,其完美
<正>习近平总书记在中央城镇化工作会议上提出新型城镇化建设要"看得见山,望得见水,留得住乡愁",避免急于求成的大拆大建,尽可能在原有村庄形态上改善居民生活条件,发展有历
<正>学习目标是教学准备的起点,只有在整体把握、明晰学习目标的基础上,教学才有方向,才有效益底线.怎样将课程标准分解成课时目标的相关研究已经比较成熟,但如何在课堂教学
<正> 我厂在修复挖泥船挖泥刀的过程中,碰到了 Mn13高锰钢的焊接问题。开始由于对此钢种的性能不熟悉,当作一般合金钢处理,采用了奥507不锈钢焊条,对工件预热后进行施焊,结果
在6月11日闭幕的甘肃省精准扶贫精准脱贫工作会议上,甘肃省委、省政府通过深化改革、顶层设计,制定出台了《关于扎实推进精准扶贫工作的意见》和17个专项配套实施方案,形成了
高岭石具有良好的流动密封、固体传压及机械加工等物理性能,是传统传压密封介质原料叶蜡石的替代品。采用比纯高岭石更适合作为传压密封介质原料的某地高岭石矿物,经过配料、
货币资金是单位流动性最强的资产,是舞弊的主要对象,因此要加强对单位货币资金的管理与控制。文章讨论货币资金内部控制中存在问题,提出了如何建立健全货币资金内部控制制度
埋深达4800m的准噶尔盆地西北缘夏72井区发育气孔状流纹质熔结火山碎屑岩储层。储层岩性主要为溢流相气孔状流纹质熔结凝灰岩和霏细质凝灰熔岩,塑变浆屑、塑变玻屑及凝灰岩角
进入自媒体时代,传统媒体面临的挑战不断,微博带来的冲击最为激烈。不少传统媒体对应之策就是开办自己的官方微博,但大多数传播效果不理想。商业微博运营中微博矩模式的出现