【摘 要】
:
代码缺陷的修复是一项复杂而且耗时的工作,相关研究与调查表明,软件公司每年都需要为代码缺陷的修复投入大量金钱和时间。与此同时,随着开源行动的普及,大量开源代码被复用与
论文部分内容阅读
代码缺陷的修复是一项复杂而且耗时的工作,相关研究与调查表明,软件公司每年都需要为代码缺陷的修复投入大量金钱和时间。与此同时,随着开源行动的普及,大量开源代码被复用与重新实现,部分含有简单缺陷的代码,有很大可能在其它软件项目中经过轻微修改后被重新实现,成为修复了缺陷的相似代码。在这种情况下,对于某一段缺陷代码,如果能找到其存在于软件项目中的相似代码,通过比较缺陷代码与该相似代码之间的异同,程序员将有机会更快地理解缺陷发生的原因,设计缺陷修复方案。基于上述想法,本文在对大量静态代码分析工具与代码自动修复技术的相关研究进行调研后,对相似代码在代码缺陷修复中的应用开展了研究,并针对简单的代码缺陷修复设计与实现了一种基于代码相似度的Java代码推荐技术CRSearcher。CRSearcher以缺陷代码的静态分析结果为基础,结合抽象语法树分析技术,使用RKR-GST的改进算法从成熟的开源代码库中进行相似代码搜索,为程序员提供设计优秀的相似代码片段作为参考,降低缺陷修复难度,提高缺陷修复效率。最后,为了验证本研究的可行性和有效性,本文使用来自8个开源项目中约93万代码构建CRSearhcer的代码库,并从缺陷数据库Defects4j中选取50个缺陷代码片段对CRSearcher的推荐结果进行评估,实验结果表明CRSearcher能提供对部分简单缺陷的修复有帮助的相似代码片段,其前1、3、5项推荐结果的命中率分别为0.26、0.46、0.50,平均准确率均值分别为0.26、0.31、0.34。
其他文献
讨论如下Hilbert空间中的半线性随机发展方程的Cauchy问题 dy(t)=[Ay(t)+f(t,y(t))]dt+G(t,y(t))dw(t) y(O)=V_u的适度解的存在唯一性,在更一般的条件下,得到了该问题的适度
<正>我科于2000~2005年行高血压脑出血手术300余例,其中合并尿崩症的患者16例,通过采用自制尿量观察表,严密观察尿量变化,提高了治愈率,现将护理体会报道如下。1临床资料1.1一
陈云是我们党第一、第二代中央领导集体的重要成员,长期担任经济、组织和纪检战线的领导工作。在领导革命和建设的长期实践中,他对民主监督的重要性及方式,作了许多深刻的阐述。
紫杉醇是应用最广泛的一种天然抗癌药物,但由于紫杉醇在红豆杉中含量极低,且直接提取紫杉醇比较困难。所以,利用植物细胞培养法高效生产紫杉醇以及采用有效的提取和分离手段
这篇文章主要是针对管道河流穿越的相关技术进行了详细的研究,并且针对此提出了两个非常典型的案例,根据这两组不同的案例给出了具体的穿越的措施和技术措施。当然,也对河流
随着新能源装机容量的不断增加,火电机组调峰任务逐渐加重;同时在环保方面火电机组排放受到国家超低排放标准的严格约束,部分雾霾严重地区排放要求甚至更加苛刻;在市场方面火电企业要面对煤价高位对企业利润的压缩和煤耗过高被关停的风险。如何通过优化控制使机组各项指标满足国家政策要求,同时降低煤耗、改善火电企业盈利能力是控制专业面临的重要任务。论文主要从提高机组变负荷能力、降低NO_x排放、机组节能降耗三个方面
将剂量分别为1×1016,3×1016,5×1016,10×1016个/cm2的Cu离子注入石英玻璃,注入后在可见光区域均可观察到明显的吸收增强效应,当注入剂量达到5×1016
基于某氢燃料电池客车整车研发,介绍燃料电池动力系统的开发背景和设计方案。从整车的动力性和经济性出发,采用综合能量密度更高的燃料电池与动力电池匹配形成的电-电混动系
研究了正电子发射层析照相(PET)探测器系统所存在的空间分辨率和时间分辨率低的问题.通过采用双面入射技术和侧面读出技术,提高了PIN光电二极管的量子效率和能量分辨率,增加了可用
国有物业管理企业改制中的难点主要体现在改制中的产权和经营权难以分开、国有资产难以客观评估、员工的安置和转换角色难、管理模式转换困难四个方面.