午夜亚洲国产日本电影一区二区三区,九九久久99综合一区二区,国产一级毛片视频,草莓视频在线观看精品最新

加急見刊

C/C++程序缺陷自動(dòng)修復(fù)與確認(rèn)方法

周風(fēng)順; 王林章; 李宣東 計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室(南京大學(xué)); 江蘇南京210023

摘要:在計(jì)算機(jī)軟件中,程序缺陷不可避免且極有可能造成重大損失.因此,盡早發(fā)現(xiàn)并排除程序中潛在的缺陷,是學(xué)術(shù)界和工業(yè)界的普遍共識(shí).目前的程序缺陷自動(dòng)修復(fù)方法大都遵循缺陷定位、修復(fù)候選項(xiàng)生成、選擇及驗(yàn)證的流程,但在修復(fù)實(shí)際程序時(shí)存在修復(fù)率低、無(wú)法保證修復(fù)結(jié)果的正確性等問(wèn)題.提出了一種基于程序合成的C/C++程序缺陷自動(dòng)修復(fù)方法.首先,從滿足相同規(guī)約的程序集中,通過(guò)人工整理的方式總結(jié)錯(cuò)誤模式及其對(duì)應(yīng)的修復(fù)方法,使用重寫規(guī)則表達(dá)錯(cuò)誤模式,在此基礎(chǔ)上實(shí)現(xiàn)了基于重寫規(guī)則和基于程序頻譜的缺陷定位方法,得到程序中可能的缺陷位置;其次,基于重寫規(guī)則,使用修復(fù)選項(xiàng)生成方法得到缺陷的修復(fù)選項(xiàng),同時(shí),通過(guò)深度學(xué)習(xí)的方式學(xué)習(xí)正確程序的書寫結(jié)構(gòu),幫助預(yù)測(cè)錯(cuò)誤程序錯(cuò)誤點(diǎn)應(yīng)有的語(yǔ)句結(jié)構(gòu),通過(guò)這兩種方式提高候選項(xiàng)質(zhì)量,進(jìn)而提高修復(fù)率;最后,在選擇驗(yàn)證過(guò)程中,使用程序合成的方法將樣例程序作為約束,保證合成后代碼的正確性.基于上述方法實(shí)現(xiàn)了原型工具AutoGrader,并在容易出錯(cuò)、缺陷典型的學(xué)生作業(yè)程序上進(jìn)行了實(shí)驗(yàn),結(jié)果顯示,該方法對(duì)學(xué)生作業(yè)程序中的缺陷有著較高的修復(fù)率,同時(shí)也能保證修復(fù)后代碼的正確性.

注: 保護(hù)知識(shí)產(chǎn)權(quán),如需閱讀全文請(qǐng)聯(lián)系軟件學(xué)報(bào)雜志社

相關(guān)推薦

更多