一种面向条件表达式语义错误定位与修复的深度学习方法
【文章页数】:72 页
【学位级别】:硕士
【部分图文】:
图1.1:程序语义修复方法的流程[1]??目前主流的自动程序修复方法主要有以下三种:基于搜索的方法、基于代??
?1.1.1传统程序修复方法??传统程序修复方法的主要流程如图1.1所示,首先使用故障定位(fault??localization)方法,给定算法规则,将存在bug的程序代码中的每个语句进行计??算,得到每个语句存在bug的概率,再根据概率进行排序;然后把排序好的语??句,逐个输....
图1.2:?sk-p算法流程??
2016年,YewenPu等人[7]提出了?sk-p模型,该模型使用了?DDS?(数据驱??动合成)模式,运用了?skip-gmm的处理方法,将代码的前一行和后一行输入到??Seq2Seq神经网络模型中,再根据分布输出正确的代码如图1.2。这个模型能够??同时修复语法错误和语义错....
图1.3:?SSC模型结构??
图1.3:?SSC模型结构??2018年,Sumit?Gulwani等人[8]将聚类算法与自动修复算法相结合的方法??来进行程序语义错误自动修复,如图1.4。他们首先使用聚类算法,将Mooc上??正确的代码样本分类,之后判断错误代码属于哪一类,再使用修复算法产生一??个本地修复方....
图1.4:聚类再修复算法流程图??
(AST?Encoder?Bi-LSTM?^?Share??代码生成的AST树??图1.3:?SSC模型结构??2018年,Sumit?Gulwani等人[8]将聚类算法与自动修复算法相结合的方法??来进行程序语义错误自动修复,如图1.4。他们首先使用聚类算法,将Mooc上??正....
本文编号:4049047
本文链接:https://www.wllwen.com/kejilunwen/zidonghuakongzhilunwen/4049047.html