一種面向條件表達(dá)式語(yǔ)義錯(cuò)誤定位與修復(fù)的深度學(xué)習(xí)方法
【文章頁(yè)數(shù)】:72 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖1.1:程序語(yǔ)義修復(fù)方法的流程[1]??目前主流的自動(dòng)程序修復(fù)方法主要有以下三種:基于搜索的方法、基于代??
?1.1.1傳統(tǒng)程序修復(fù)方法??傳統(tǒng)程序修復(fù)方法的主要流程如圖1.1所示,首先使用故障定位(fault??localization)方法,給定算法規(guī)則,將存在bug的程序代碼中的每個(gè)語(yǔ)句進(jìn)行計(jì)??算,得到每個(gè)語(yǔ)句存在bug的概率,再根據(jù)概率進(jìn)行排序;然后把排序好的語(yǔ)??句,逐個(gè)輸....
圖1.2:?sk-p算法流程??
2016年,YewenPu等人[7]提出了?sk-p模型,該模型使用了?DDS?(數(shù)據(jù)驅(qū)??動(dòng)合成)模式,運(yùn)用了?skip-gmm的處理方法,將代碼的前一行和后一行輸入到??Seq2Seq神經(jīng)網(wǎng)絡(luò)模型中,再根據(jù)分布輸出正確的代碼如圖1.2。這個(gè)模型能夠??同時(shí)修復(fù)語(yǔ)法錯(cuò)誤和語(yǔ)義錯(cuò)....
圖1.3:?SSC模型結(jié)構(gòu)??
圖1.3:?SSC模型結(jié)構(gòu)??2018年,Sumit?Gulwani等人[8]將聚類算法與自動(dòng)修復(fù)算法相結(jié)合的方法??來(lái)進(jìn)行程序語(yǔ)義錯(cuò)誤自動(dòng)修復(fù),如圖1.4。他們首先使用聚類算法,將Mooc上??正確的代碼樣本分類,之后判斷錯(cuò)誤代碼屬于哪一類,再使用修復(fù)算法產(chǎn)生一??個(gè)本地修復(fù)方....
圖1.4:聚類再修復(fù)算法流程圖??
(AST?Encoder?Bi-LSTM?^?Share??代碼生成的AST樹(shù)??圖1.3:?SSC模型結(jié)構(gòu)??2018年,Sumit?Gulwani等人[8]將聚類算法與自動(dòng)修復(fù)算法相結(jié)合的方法??來(lái)進(jìn)行程序語(yǔ)義錯(cuò)誤自動(dòng)修復(fù),如圖1.4。他們首先使用聚類算法,將Mooc上??正....
本文編號(hào):4049047
本文鏈接:http://www.sikaile.net/kejilunwen/zidonghuakongzhilunwen/4049047.html