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

加急見刊

C/C++程序缺陷自動修復與確認方法

周風順; 王林章; 李宣東 計算機軟件新技術國家重點實驗室(南京大學); 江蘇南京210023

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

注: 保護知識產權,如需閱讀全文請聯系軟件學報雜志社