基于图代码表征的端到端程序缺陷修复方法研究

来源 :扬州大学 | 被引量 : 0次 | 上传用户:wjbbio
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序自动修复技术是降低企业用于程序缺陷修复的运维成本、将软件开发者从繁重的缺陷修复工作中解放的关键技术。深度学习技术的兴起给程序自动修复领域提供了新的思路。近年来,深度学习技术已经广泛应用于程序自动修复领域。主流的基于深度学习的程序自动修复方法应用神经机器翻译模型,将存在缺陷的程序端到端地将翻译为正确的代码以完成修复。然而这类方法主要采用了序列和树的表示方式表示源代码,由于编程语言本身存在语义依赖范围大、变量命名自由等特性,序列化的表征难以表达长距离语义依赖,而基于抽象语法树的表示方法则由于树中存在大量虚拟结点带来冗余。这类方法选取的代码表征方式会直接影响翻译模型的学习效果,使得模型难以学到深层次的代码语义。本文针对基于神经机器翻译的程序自动修复方法中存在的代码表征问题和模型适用性问题,提出了两种基于图的程序自动修复方法,应用程序静态分析技术生成程序图,并基于图的形式表征代码。另一方面,为了适应图形式的输入,使用基于图神经网络的编码器替换传统神经机器翻译模型中的序列编码器。本文的工作主要包括以下几个方面:1)提出了一种基于图代码表征的方法级程序自动修复方法。该方法基于抽象语法树的优化程序图表征代码,以保留源代码丰富的语法语义信息,并针对图形式的表征引入了图到序列学习从而在保留完整图结构信息的条件下端到端地为缺陷方法生成缺陷方法补丁。在Java基准数据集Defects4J上的实验表明,该方法能够修复34个缺陷方法,在方法级缺陷修复任务上优于基线方法。2)提出了一种基于图代码表征的语句级程序自动修复方法。该方法使用一种多语义关系融合的程序图表征代码,并构建了基于关系的图卷积神经网络编码器以建模多种语义信息,从而在模型学习的过程中保留了源代码多种复杂语义信息。在Java基准数据集Defects4J上的实验表明,该方法能够修复38个真实缺陷,并在语句级缺陷修复任务中表现优于基线方法。3)部署了一个在线程序自动修复系统,该系统能够提供对缺陷程序的分析,并针对存在缺陷的程序代码粒度的不同提供不同的修复方案,辅助开发人员理解缺陷程序并完成缺陷修复任务。
其他文献
随着科技的高速发展,移动机器人逐步走入人们的生活。伴随人类需求的不断升级,移动机器人的工作场景趋于复杂化。针对各类复杂环境下的移动机器人路径规划算法成为当前科学技术的研究热点。移动机器人路径规划问题是实现其自主导航的重要环节,要求在给定环境下,寻找一条满足一定约束条件的无碰撞路径。其中的约束条件主要包括:路径行驶燃耗限制,规避碰撞物,路径平滑度等。本文具体工作内容如下:(1)在三维环境下,分析当前
学位
目的:通过对因损伤严重、血管条件较差的单根离断手指行断指再植术中单静脉吻合联合术后应用丹参川芎嗪注射液进行治疗,并与断指再植术中行多静脉吻合的临床疗效比较分析,为提高部分严重离断手指损伤患者的临床治疗提供思路。方法:选取我院2014年1月至2018年12月收治的因单根离断手指行断指再植术并且符合纳入标准的患者159例。根据治疗方案不同,将其分为A、B、C三组。A组患者断指再植术中行单静脉吻合50例
学位
目的建立一个基于腰椎磁共振影像(magnetic resonance imaging,MRI)的评分系统评估骨密度,并评估其与双能X线骨密度仪(dual energy x-ray absorptiometry,DEXA)所测T值的相关程度。材料和方法回顾性分析2019年1月至2020年8月入住XX医院脊柱外科的诊断为腰椎退变性疾病且行手术治疗的82名患者的临床资料,根据DEXA检测的股骨颈和全髋骨
学位
大型低(特低)扬程泵站在平原地区水资源配置、水环境改善、防洪排涝以及农田灌溉排水等方面应用前景良好,为平原地区的经济和生态发展提供强力支撑。泵装置是泵站的核心设备,其水力性能对泵站的效率有着极大的影响,水泵模型适用、进出水流道水力设计合理的泵装置是保持泵站稳定、安全、经济运行的基础和前提条件。本文以慎江泵站为实例,先对大型特低扬程泵站进行水泵模型比选,再对泵装置进出水流道进行水力设计,最后对所选的
学位
基于河套灌区水资源短缺和土壤次生盐碱化等研究背景,本文选取河套灌区永济灌域中国农业大学永济试验基地作为典型研究区,开展暗管排水条件下农田水盐分布与葵花生长的田间试验,通过对田间试验数据进行分析,研究暗管排水条件下农田土壤水盐分布规律、离子组成及作物生长的主要影响因素。在此基础上,应用RZWQM2模型进行相关数值模拟,为研究区优化农田排水暗管布设和土壤盐碱化的防治提供理论依据。研究得到主要结论如下:
学位
传播源的定位研究是复杂网络分析领域中的重要组成部分,复杂网络上的源定位问题研究在实际的传播行为发生之后如何定位传播源,确定多个传播源的位置以及初始传播时间。这些问题一直备受关注。在现代生活中,一些恶性的事件往往以社交网络为载体进行传播,从而导致非常严重的后果。而这些传播,最初可能只是出于一个或多个节点,后来才逐渐演变为大规模的传播。因此,为了控制这些恶性传播事件的发生,消除其造成的恶劣影响,就必须
学位
水工混凝土的裂缝扩展规律是进行水工混凝土结构设计和安全评价的依据,但是迄今为止这方面的研究仍存在不足。为了研究水工混凝土的断裂性能,本文针对不同初始缝高比(0.3、0.4、0.5)含预制裂缝的水工混凝土立方体试件开展了不同加载速率(0.1mm/s、0.01mm/s、0.001mm/s)及不同加载(单调加载、循环加载)工况下水工混凝土楔入劈拉试验,分析了各种加载工况下水工混凝土裂缝扩展过程的应变率效
学位
随着互联网和数据存储技术的快速发展,多媒体数据不断涌现,其中图像数据因为能够提供直观丰富的视觉信息,而成为了研究热点。图像检索中涉及到的图像特征提取、相似性匹配、大规模索引等相关技术一直是机器学习、计算机视觉、信息检索等领域的研究重点。哈希技术凭借检索速度快、存储成本小的优点,在多媒体检索中受到了广泛关注。面向图像检索的多视图哈希算法旨在对图像数据提取特征,将特征映射到离散的汉明空间进行快速的近似
学位
供应链溯源系统通常由大型核心企业部署,且多数采用中心化的设计方式。在这种模式下存在监管问责难、数据不透明、信息闭塞、溯源信息单一等问题。区块链在去中心化的前提下,可以提供数据信息不可篡改、安全可靠等特性保证,十分契合供应链的业务特点。然而基于区块链的供应链溯源管理方案中,区块链会将企业隐私数据信息公开以促成链上节点间的共识,导致企业隐私数据的安全性不足;方案中区块链共识算法大都直接采用实用拜占庭容
学位
随着经济发展和科技进步,3D打印技术逐渐从工业、建筑、艺术等领域走向服装领域,近年来,服装设计与制作大多依靠3D技术,服装领域凭借3D技术的应用有了巨大发展。文章从3D技术的应用入手,以3D技术在服装领域的应用为主要研究对象,讲述3D技术的发展现状及应用情况,以供参考。
期刊