面向Java的软件自动修复与补丁增强技术

来源 :杭州电子科技大学 | 被引量 : 0次 | 上传用户:luhaixiong1971
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在程序开发过程中,由于人工编写产生的代码缺陷往往无法避免,严重影响软件质量,而通过测试人员手工修复代码缺陷既耗时又效率低下,严重制约软件产业发展。因此,探索自动、高效的软件缺陷修复方法是目前软件工程领域的一个重要课题。目前,软件自动修复(Automatic Program Repair,APR)技术在学术界以及工业界已经取得了巨大进展,但该领域仍有很多难题需要解决,尤其是针对面向Java的APR方法。一方面,大部分研究者关注的是基于源码的软件自动修复,但事实上,Java字节码比源码更能反映代码语义信息;另一方面,由于APR方法自身的局限性,目前生成的补丁整体正确率偏低,生成的补丁包含大量的近似修复补丁。基于上述问题,本文围绕面向Java的软件自动修复与补丁增强技术展开研究,具体工作包含以下两个方面:(1)针对缺少Java程序在字节码层次的软件自动修复方法的问题,本文提出了基于字节码模板的软件自动修复方法(Byte Code Pattern Auto Program Repair,BCPAPR),通过对真实Java项目中代码缺陷修复过程的挖掘与解析,得到字节码修复模板,从而实现在字节码层次的软件自动修复。首先,方法收集字节码层次的缺陷和修复指令集,并根据真实指令集构建抽象字节码时序链和抽象字节码时序链编辑脚本,用于简化字节码指令的表示和两段字节码指令集差异的表示,然后对编辑脚本进一步抽象生成抽象字节码时序链编辑模板,解决了缺陷修复模板的表示问题。在此过程中,提出了一种新颖的层次聚类算法和最大化缺陷模板匹配规则以提高方法的模板匹配能力,进而产生更多正确补丁。实验表明,BCPAPR方法在缺陷修复能力与修复时间上均有一定改善,尤其是在缺失源码数据时,可以作为面向Java进行软件自动修复的一个有效解决手段。(2)针对目前APR方法生成的补丁整体正确率偏低的问题,本文提出了软件自动修复生成补丁的增强方法(APR Patch Enhancing Method,APRPEM),通过深度学习技术对补丁代码在抽象语法树层次进行节点修正预测(修改、回滚、增加、删除),最终产生对补丁的修正预测信息,实现对APR方法生成的近似修复补丁的增强。在方法的实现中,本文提出了基于孪生网络的分类预测模型(Siamese Code Network for Repatching,SCN4R)解决预测模型构建问题,通过图注意力网络对错误代码、目标代码以及补丁代码向量化,解决代码的向量表示问题,并提出改进的L距离和L距离范数解决代码差异表示的问题,APRPEM方法最终在抽象语法树层面生成对APR生成补丁的修正操作信息,方便后续开发人员或研究人员对软件的改进。
其他文献
随着我国国库集中支付改革的不断推进,动态监控工作的重要性日益凸显。但是,国库集中支付动态监控建设相对滞后。为完善国库集中支付动态监控工作机制,提高财政资金配置效率和质量,本文通过理论和实际研究相结合,对W县财政局进行个案研究。笔者站在财政工作者的角度,围绕国库集中支付动态监控工作目前存在的问题以及对策研究,以W县财政局为样本,介绍了国库集中支付以及动态监控的概念界定;全面总结了W县动态监控工作开展
党的十九大提出实施乡村振兴战略,农村寄递物流体系是促进农村消费品、农产品双向流通,实现乡村振兴的基础保障,“县乡村三级物流体系”是服务乡村振兴战略的流通基础设施,三级物流体系是实现农村公共服务均等化的基础条件。中国邮政集团有限公司作为行业的“国家队”,把三级物流体系建设作为企业的重大战略,三级物流体系是邮政担当央企责任的具体体现。随着快递市场竞争持续加剧,农村市场成为蓝海,通过整合内外部资源打造的
<正>在去年的预算执行审计中,笔者运用多维数据分析方法,充分利用企业股东数据、国库集中支付数据、财政供养人员信息数据进行多数据库比对分析,确定需要重点延伸审计核实的资金及疑点问题,提升延伸审计的精准度,在疑点核实过程中利用互联网企业信用数据以及公安部门协助提供的户籍数据、银行提供的资金流水数据进行分析查证,查出了某单位项目资金分管领导及工作人员虚报骗取财政专项资金的问题,并移送市纪委进行处理。
期刊
[目的]为了提高长大二元杂交母猪的繁殖效率与后备母猪选留。[方法]利用烟台市某猪场长大二元杂交母猪繁殖记录分析胎次、季节、配种方式对母猪的总产仔数、健仔数、初生重和断奶窝重的影响。[结果]第2至6胎初生重和平均总活仔数较多,第5胎的平均初生重最高为1.15 kg,第4胎平均总活仔数最高为12.7头,第4胎平均断奶仔猪数最高为9.88头,春季的平均总活仔数最多为12.20头;深部输精法的总活仔数、健
利用艾奇逊炉分别在3 000℃和2 800℃下进行碳纳米管的提纯实验。利用ICP、EDS、TGA检测了提纯碳纳米管的主要催化金属含量、灼烧残余物含量;用四探针薄膜电阻仪检测其电阻率;利用SEM、XRD、FT-IR研究了不同温度提纯碳纳米管的组织结构变化和表面特点。研究结果表明,艾奇逊炉在不同温度下提纯的碳纳米管都可以有效降低碳纳米管粉体中的催化金属含量和灼烧残余物含量,满足动力电池导电剂要求。与原
在新的经济发展形势下,传统的国库分散支付方式问题日益突出,不能满足当下财政支付的要求。为了更好地对公共财政资金进行把控,我国各级行政事业单位全面实施国库集中支付制度,提升了各级行政事业资金使用的公开度和透明度,增强了财政资金的使用效益,保证了国有资产的安全性。本文介绍了国库集中支付制度的主要内容与现实意义,分析了目前在实践中存在的主要问题,并据此提出进一步深化国库集中支付制度的具体建议。
<正>景瑞智能基于ZETA技术推出了用于冷链温湿度测量的ZETA温湿度传感器,可用于新冠疫苗温湿度的精确检测、远程监控、自动报警、数据全程可视,切实保障疫苗安全有效。ZETA温湿度传感器不仅能实时监控温湿度,还能有效地收集、整理、统计数据信息,真正实现疫苗温湿度监测与管理的数字化、智能化。
期刊
目的胸腺癌是一种呈侵袭性生长且相对罕见的恶性肿瘤。手术是可切除胸腺癌有望获得根治的治疗方式。本研究旨在总结可手术胸腺癌患者的临床病理特征及术后综合治疗,探讨影响胸腺癌术后患者预后的相关因素。方法回顾性分析2010-7-16-2019-4-20中国人民解放军总医院第一医学中心和第八医学中心接受手术治疗的46例胸腺癌患者临床资料,其中鳞状细胞癌39例,神经内分泌癌7例。采用Kaplan-Meier法计
针对某车载高机动相控阵雷达实际需求,提出了一种模块化强迫风冷阵面结构。该结构采用模块化设计,模块间采用盲插互联技术,实现了阵面少线化设计,提高了阵面可靠性和维修性;采取“楔形配合面+密封垫片”的结构形式,实现了集成模块的快速插拔,解决了风道密封与快速盲插间的矛盾;风道与阵面框架一体化设计,阵面内模块布局自然形成风道,实现了区域化、模块化散热,冷却风精确分配,解决了T/R组件均温性控制问题。