• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    自動(dòng)程序修復(fù)中的安全隱患場(chǎng)景及解決方案

    2019-12-24 06:23:26黃昱銘馬建峰劉志全魏凱敏馮丙文
    關(guān)鍵詞:程序方法

    黃昱銘,馬建峰,2,劉志全,魏凱敏,馮丙文,3,4,5

    (1.暨南大學(xué) 信息科學(xué)技術(shù)學(xué)院,廣東 廣州 510632;2.西安電子科技大學(xué) 網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安 710071;3.中國(guó)科學(xué)院信息工程研究所 信息安全國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100093;4.廣東省信息安全技術(shù)重點(diǎn)實(shí)驗(yàn)室,廣東 廣州 520006;5.廣東省智能信息處理重點(diǎn)實(shí)驗(yàn)室/深圳市媒體信息內(nèi)容安全重點(diǎn)實(shí)驗(yàn)室,廣東 深圳 518060)

    由于需求理解錯(cuò)誤、開(kāi)發(fā)過(guò)程不合理和開(kāi)發(fā)者經(jīng)驗(yàn)不足,軟件中不可避免地會(huì)存在已知或未知的缺陷。通過(guò)軟件維護(hù)減少由于軟件錯(cuò)誤(Software Error)引起的軟件缺陷(Software Defect)是軟件工程中不可缺少的重要環(huán)節(jié)。傳統(tǒng)方法通過(guò)人力進(jìn)行軟件維護(hù)會(huì)浪費(fèi)大量的勞動(dòng)力和時(shí)間成本[1]。因此,研究者們?cè)絹?lái)越關(guān)注自動(dòng)程序修復(fù)(Automatic Program Repair,APR)。

    當(dāng)前主流的自動(dòng)程序修復(fù)方法是使用測(cè)試集(Test Suite)對(duì)程序缺陷進(jìn)行定位和修復(fù)。使用測(cè)試集修復(fù)程序缺陷的自動(dòng)程序修復(fù)方法主要分為兩類[2]:一類是基于搜索,另一類是基于語(yǔ)義。基于搜索的自動(dòng)程序修復(fù)方法通過(guò)基于搜索的軟件工程(Search Based Software Engineering)[3]在搜索空間中尋找最合適的補(bǔ)丁。這類自動(dòng)程序修復(fù)方法的代表有GenProg[4]等?;谡Z(yǔ)義的自動(dòng)程序修復(fù)方法通過(guò)提取程序的語(yǔ)義信息和測(cè)試集中的補(bǔ)丁約束以合成合適的補(bǔ)丁。這類自動(dòng)程序修復(fù)方法的代表有ACS[5]等。

    自動(dòng)程序修復(fù)方法修復(fù)程序缺陷與人工修復(fù)方法相比,雖然能更快地定位和修復(fù)缺陷,節(jié)省勞動(dòng)力和時(shí)間成本,但是無(wú)法保證缺陷修復(fù)的正確性。雖然一些自動(dòng)程序修復(fù)方法對(duì)補(bǔ)丁進(jìn)行了約束[6],但由于約束不完整無(wú)法保證補(bǔ)丁的質(zhì)量。一些自動(dòng)程序修復(fù)方法通過(guò)學(xué)習(xí)開(kāi)發(fā)者修復(fù)缺陷的過(guò)程提高修復(fù)的精確性[6-7],但無(wú)法保證訓(xùn)練集的污染不會(huì)影響修復(fù)結(jié)果的正確性。針對(duì)自動(dòng)程序修復(fù)方法修復(fù)缺陷的質(zhì)量問(wèn)題,國(guó)內(nèi)外研究者做了大量工作。當(dāng)前,缺陷修復(fù)質(zhì)量的研究主要集中在修復(fù)精度與修復(fù)速度[8-9]。筆者同樣關(guān)注自動(dòng)程序修復(fù)方法修復(fù)缺陷的質(zhì)量問(wèn)題,但不同于現(xiàn)有研究,筆者主要研究自動(dòng)程序修復(fù)方法修復(fù)缺陷過(guò)程中的安全性。筆者指出了自動(dòng)程序修復(fù)方法在修復(fù)缺陷過(guò)程中存在的安全隱患場(chǎng)景,并為兩種安全隱患場(chǎng)景分別提出相應(yīng)的解決方案。

    1 安全隱患場(chǎng)景

    1.1 臟補(bǔ)丁源

    開(kāi)發(fā)者能夠通過(guò)代碼克隆(Code Cloning)加速開(kāi)發(fā)進(jìn)程,然而代碼克隆嚴(yán)重降低程序的安全性。代碼克隆是程序缺陷傳播的最主要方式[10],不僅增加了軟件維護(hù)成本,而且嚴(yán)重影響代碼的質(zhì)量[11]。與代碼克隆類似,基于搜索的自動(dòng)程序修復(fù)方法在補(bǔ)丁空間中搜索合適的補(bǔ)丁修復(fù)程序缺陷,補(bǔ)丁空間來(lái)源于程序或開(kāi)源的代碼倉(cāng)庫(kù),如果補(bǔ)丁攜帶缺陷,缺陷則會(huì)隨補(bǔ)丁進(jìn)入程序中。

    圖1 臟補(bǔ)丁源污染程序過(guò)程

    如圖1所示,自動(dòng)程序修復(fù)方法首先定位缺陷錯(cuò)誤位置,緊接著通過(guò)解析缺陷位置處的語(yǔ)義信息,在補(bǔ)丁空間中搜索合適的補(bǔ)丁。自動(dòng)程序修復(fù)方法常用的補(bǔ)丁空間有自身代碼、開(kāi)源社區(qū)和問(wèn)答網(wǎng)站等,并最終通過(guò)測(cè)試集驗(yàn)證補(bǔ)丁的正確性。如果在補(bǔ)丁空間中選取的補(bǔ)丁中包含新的未知缺陷,且新的缺陷不能通過(guò)該測(cè)試集進(jìn)行檢測(cè),那么自動(dòng)程序修復(fù)方法就會(huì)將未知缺陷引入到程序中,進(jìn)而影響程序的安全性和質(zhì)量,會(huì)增加軟件的維護(hù)成本。

    定義F為程序中所有函數(shù)的集合,V為程序中所有缺陷函數(shù)的集合,R為開(kāi)源代碼倉(cāng)庫(kù)中函數(shù)的集合,S為補(bǔ)丁空間中函數(shù)的集合。對(duì)于集合V和S,滿足V?F,S=F∪R。定義缺陷檢測(cè)器DE為測(cè)試集E維度下函數(shù)集F到{0, 1}的一個(gè)映射,可表示為

    (1)

    缺陷檢測(cè)器DE接受一個(gè)程序并返回1(包含缺陷)或0(不包含缺陷)。

    定義1自動(dòng)程序修復(fù)方法修復(fù)程序缺陷需要根據(jù)缺陷函數(shù)的語(yǔ)義信息,在補(bǔ)丁空間中尋找合適的補(bǔ)丁,在測(cè)試集E的維度下成功修復(fù)缺陷:

    ?f∈V, ?s∈S:DE(R(f,s))=0 ,

    (2)

    其中,R(f,s)為返回自動(dòng)程序修復(fù)方法通過(guò)補(bǔ)丁函數(shù)s修復(fù)缺陷函數(shù)f后的結(jié)果,即返回插入補(bǔ)丁后的函數(shù)。

    自動(dòng)程序修復(fù)方法根據(jù)缺陷函數(shù)f和測(cè)試集E在集合S中尋找補(bǔ)丁s,使DE(s)‖DE(R(f,s))=0。然而,在其他測(cè)試集(如E′)維度下有DE′(s) = 1,即補(bǔ)丁s包含未知缺陷,但在測(cè)試集E′維度下無(wú)法定位該未知缺陷,此時(shí)修復(fù)后的程序包含該未知缺陷,使DE′(R(f,s)) = 1,此時(shí)觸發(fā)安全隱患。

    1.2 臟測(cè)試集

    測(cè)試預(yù)言(Test Oracle)是判斷軟件系統(tǒng)測(cè)試是否通過(guò)的關(guān)鍵機(jī)制,對(duì)整個(gè)軟件測(cè)試過(guò)程起決定性作用[12]。當(dāng)前主流的自動(dòng)程序修復(fù)方法主要通過(guò)測(cè)試集定位程序缺陷,并使用測(cè)試集校驗(yàn)補(bǔ)丁的正確性。因此,測(cè)試集的正確性在很大程度上影響自動(dòng)程序修復(fù)方法的修復(fù)結(jié)果。

    定義2臟測(cè)試集是指測(cè)試集中部分測(cè)試用例的測(cè)試預(yù)言與期望功能不一致,即

    ?e∈E:O(e)≠H(e) ,

    (3)

    其中,O(e)為返回測(cè)試用例e的測(cè)試預(yù)言,H(e)為返回e的期望功能。

    自動(dòng)程序修復(fù)方法若使用臟測(cè)試集定位缺陷和校驗(yàn)補(bǔ)丁,就能夠?qū)㈠e(cuò)誤補(bǔ)丁引入程序,甚至影響程序原本正常的功能。

    如圖2所示,自動(dòng)程序修復(fù)方法使用臟測(cè)試集定位到錯(cuò)誤的缺陷位置,此時(shí)基于搜索的自動(dòng)程序修復(fù)方法根據(jù)錯(cuò)誤的缺陷位置在補(bǔ)丁空間中尋找錯(cuò)誤的修復(fù)補(bǔ)丁,而基于語(yǔ)義的自動(dòng)程序修復(fù)方法會(huì)生成錯(cuò)誤的補(bǔ)丁約束,合成錯(cuò)誤的補(bǔ)丁。因此,如果采用該場(chǎng)景下生成的補(bǔ)丁修復(fù)程序,則將使程序產(chǎn)生新的缺陷,進(jìn)而影響程序的安全性。

    圖2 臟測(cè)試集污染程序過(guò)程

    2 解決方案

    2.1 補(bǔ)丁校驗(yàn)方案

    為不干預(yù)自動(dòng)程序修復(fù)方法的修復(fù)過(guò)程,針對(duì)上節(jié)指出的臟補(bǔ)丁源場(chǎng)景,可通過(guò)兩個(gè)步驟的篩選獲取安全性更高的補(bǔ)丁,即對(duì)自動(dòng)程序修復(fù)生成的補(bǔ)丁候選者列表進(jìn)行優(yōu)先級(jí)排序,并靜態(tài)分析校驗(yàn)候選者列表中的補(bǔ)丁。

    2.1.1 補(bǔ)丁候選者優(yōu)先級(jí)排序

    為促使自動(dòng)程序修復(fù)方法快速獲取安全性更高的補(bǔ)丁,文中針對(duì)不同的補(bǔ)丁空間,對(duì)補(bǔ)丁候選者列表采取不同的排序策略。

    如果自動(dòng)程序修復(fù)方法是在自身代碼中搜尋補(bǔ)丁,則以復(fù)雜度作為指標(biāo)對(duì)補(bǔ)丁候選者列表進(jìn)行排序,具體流程如圖3所示。復(fù)雜度越高的代碼,涵蓋缺陷的可能性越高。文中首先根據(jù)函數(shù)單位和控制流圖將程序代碼劃分為多個(gè)區(qū)域,并采用文獻(xiàn)[13]提出的程序復(fù)雜度計(jì)算方法計(jì)算每個(gè)區(qū)域的復(fù)雜度,再根據(jù)補(bǔ)丁候選者列表中各補(bǔ)丁候選者所在的區(qū)域,遵照區(qū)域復(fù)雜度進(jìn)行排序,優(yōu)先獲取復(fù)雜度更低的補(bǔ)丁。

    圖3 以自身代碼為搜索空間的補(bǔ)丁優(yōu)先級(jí)列表生成流程

    圖4 以開(kāi)源社區(qū)或問(wèn)答網(wǎng)站為搜索空間的優(yōu)先級(jí)列表生成流程

    如果自動(dòng)化程序修復(fù)方法在開(kāi)源社區(qū)或問(wèn)答網(wǎng)站中尋找補(bǔ)丁,則以信任度作為指標(biāo)對(duì)候選者列表進(jìn)行排序,具體流程如圖4所示。通過(guò)開(kāi)源社區(qū)或問(wèn)答網(wǎng)站給出的評(píng)分指標(biāo)對(duì)補(bǔ)丁候選者列表進(jìn)行排序。例如,以代碼的星級(jí)作為GitHub(https://github.com/)中代碼質(zhì)量的衡量指標(biāo)。

    補(bǔ)丁候選者列表的具體排序算法描述如下:

    輸入:補(bǔ)丁候選者集合P。

    輸出:優(yōu)先級(jí)列表Pl。

    for eachpinPdo

    ifp∈自身程序 then

    獲取p所在區(qū)域的復(fù)雜度

    根據(jù)復(fù)雜度將p插入到Pl

    else ifp∈開(kāi)源社區(qū)∪問(wèn)答網(wǎng)站 then

    獲取p在開(kāi)源社區(qū)或問(wèn)答網(wǎng)站分?jǐn)?shù)

    根據(jù)分?jǐn)?shù)將p插入到Pl

    else then

    將p插入到Pl的末尾

    end if

    end for。

    2.1.2 靜態(tài)校驗(yàn)分析

    為防止程序引入臟補(bǔ)丁,需要校驗(yàn)補(bǔ)丁候選者,文中采用靜態(tài)分析技術(shù)對(duì)補(bǔ)丁候選者進(jìn)行校驗(yàn)。程序靜態(tài)分析(Program Static Analysis)在不運(yùn)行程序[14]且不需要測(cè)試集的情況下,校驗(yàn)代碼的可靠性和安全性。文中采用LLVM(Low Level Virtual Machine)[15]框架中的Clang靜態(tài)分析器(Clang Static Analyzer)構(gòu)建靜態(tài)分析框架。LLVM構(gòu)建的靜態(tài)分析框架具有更好的擴(kuò)展性和伸縮性,能夠快速地為特定的缺陷設(shè)計(jì)檢查器,并且能夠使用LLVM內(nèi)置的缺陷檢查器,包括空指針、不安全應(yīng)用程序編程接口和除零錯(cuò)誤等。

    圖5 安全補(bǔ)丁獲取流程

    如圖5所示,對(duì)2.1.1節(jié)中優(yōu)先級(jí)列表中的候選補(bǔ)丁進(jìn)行安全性校驗(yàn)。具體來(lái)講,首先從補(bǔ)丁候選者優(yōu)先級(jí)列表中抽取優(yōu)先級(jí)最高的補(bǔ)??;然后通過(guò)靜態(tài)分析校驗(yàn)該補(bǔ)丁的安全性,如果通過(guò)靜態(tài)分析檢查,則再使用測(cè)試集對(duì)該補(bǔ)丁進(jìn)行評(píng)估,如果該補(bǔ)丁通過(guò)測(cè)試集,則該補(bǔ)丁正確合法,自動(dòng)程序修復(fù)方法使用該補(bǔ)丁修復(fù)程序缺陷;若該補(bǔ)丁未通過(guò)靜態(tài)分析檢查或未通過(guò)測(cè)試集,則選取優(yōu)先級(jí)次高的補(bǔ)丁進(jìn)行檢驗(yàn),直至找到正確合法的補(bǔ)丁或檢驗(yàn)完所有的候選補(bǔ)丁。

    靜態(tài)分析校驗(yàn)補(bǔ)丁的具體算法描述如下:

    輸入:測(cè)試集E、優(yōu)先級(jí)列表Pl。

    輸出:安全補(bǔ)丁p。

    for eachpinPldo

    if 靜態(tài)分析補(bǔ)丁p不包含缺陷 then

    if 補(bǔ)丁p通過(guò)測(cè)試集Ethen

    返回p

    end if

    end if

    end for。

    2.2 補(bǔ)丁校驗(yàn)方案

    針對(duì)第1節(jié)指出的臟測(cè)試集場(chǎng)景,對(duì)測(cè)試集的格式進(jìn)行規(guī)范。測(cè)試集中的每個(gè)測(cè)試用例對(duì)應(yīng)一個(gè)執(zhí)行流,這里規(guī)定測(cè)試集中每一個(gè)執(zhí)行流成對(duì),即相同的執(zhí)行流出現(xiàn)2n次(其中n∈Z+),并定義形式化的測(cè)試集:

    E={ei|i∈[1,2n]} 。

    (4)

    測(cè)試集E中(e2k-1,e2k)為一個(gè)測(cè)試用例對(duì),其中k∈[1,n],每個(gè)測(cè)試用例對(duì)中測(cè)試用例對(duì)應(yīng)的執(zhí)行流相同。規(guī)范測(cè)試集的格式后,判斷測(cè)試用例對(duì)中兩個(gè)測(cè)試用例的執(zhí)行流是否相同,如果不相同,則該測(cè)試集是臟測(cè)試集,阻止自動(dòng)程序修復(fù)方法通過(guò)該測(cè)試集進(jìn)行缺陷定位和補(bǔ)丁校驗(yàn)。

    自動(dòng)程序修復(fù)方法在進(jìn)行修復(fù)前無(wú)法準(zhǔn)確選擇能夠定位缺陷的具體測(cè)試用例。定位缺陷的測(cè)試用例的測(cè)試預(yù)言與程序執(zhí)行流的返回結(jié)果不一致會(huì)導(dǎo)致錯(cuò)誤的檢測(cè)結(jié)果。例如,根據(jù)三角形的3條邊a、b和c,確定三角形(a,b,c)的形狀,(3, 3, 3)執(zhí)行流的返回結(jié)果是等腰三角形,該結(jié)果表明程序包含缺陷,而此時(shí)測(cè)試預(yù)言為等邊三角形,該測(cè)試用例的測(cè)試預(yù)言與執(zhí)行流的返回結(jié)果不一致,導(dǎo)致誤認(rèn)為該測(cè)試用例為臟測(cè)試用例。因此通過(guò)數(shù)據(jù)流分析增加檢測(cè)精度,通過(guò)數(shù)據(jù)流向判斷執(zhí)行流是否一致辨別臟測(cè)試用例,算法的具體描述如下:

    輸入:測(cè)試集E={ei|i∈[1,2n]}。

    if測(cè)試集格式符合規(guī)范 then

    for eachkin [1,n] do

    ife2k-1的執(zhí)行流≠e2k的執(zhí)行流then

    end if

    end for

    end if

    其中判斷測(cè)試用例對(duì)(e2k-1,e2k)中測(cè)試用例對(duì)應(yīng)的執(zhí)行流是否相等的判斷算法如下:

    輸入:測(cè)試用例對(duì)(e2k-1,e2k)。

    輸出:e2k-1是否為臟測(cè)試用例。

    if oracle(e2k-1)≠func(e2k-1) or oracle(e2k)≠func(e2k) then

    e2k-1為臟測(cè)試用例

    else if數(shù)據(jù)流分析e2k-1和e2k的執(zhí)行過(guò)程不一致 then

    e2k-1為臟測(cè)試用例

    end if。

    3 實(shí)驗(yàn)測(cè)試與結(jié)果分析

    3.1 實(shí)驗(yàn)樣本與環(huán)境配置

    如表1所示,選取Defects4J[16]缺陷程序集作為測(cè)試樣本。Defects4J缺陷程序集中共有5個(gè)項(xiàng)目,即Chart、Lang、Math、Time和Closure Compiler,但由于Closure Compiler項(xiàng)目中缺少測(cè)試用例,無(wú)法定位缺陷,因此選取前4個(gè)項(xiàng)目進(jìn)行實(shí)驗(yàn)測(cè)試。

    表1 Defects4J缺陷程序集

    修復(fù)工具以GenProg和PAR[7]為基礎(chǔ),并增加兩種解決方案,即補(bǔ)丁校驗(yàn)方案和測(cè)試集校驗(yàn)方案。選取GenProg和PAR的理由如下:GenProg開(kāi)源且擴(kuò)展性好,易于觀察修復(fù)效果;PAR雖未開(kāi)源,但修復(fù)效果接近人工修復(fù)且實(shí)現(xiàn)簡(jiǎn)單。文中根據(jù)PAR提供的修復(fù)模板,重新實(shí)現(xiàn)了PAR原型。將添加解決方案后的修復(fù)工具分別命名為GenProg Plus和PAR Plus。

    將Defects4J中的原測(cè)試集拷貝一份,并將測(cè)試用例和測(cè)試預(yù)言根據(jù)2.2節(jié)提出的規(guī)范測(cè)試集格式隨機(jī)更改拷貝測(cè)試集中的測(cè)試用例(更改后的測(cè)試用例執(zhí)行流相同但具體測(cè)試數(shù)據(jù)不同),并在拷貝測(cè)試集中設(shè)置臟測(cè)試用例,最后組合原測(cè)試集和拷貝測(cè)試集以生成規(guī)范測(cè)試集。以測(cè)試用例數(shù)為2 205的Chart項(xiàng)目為例,設(shè)原測(cè)試集為E,文中將E拷貝一份(設(shè)為E′),并在E′中隨機(jī)設(shè)置臟測(cè)試用例,然后通過(guò)項(xiàng)目源碼將部分測(cè)試用例修改為執(zhí)行流相同、具體測(cè)試數(shù)據(jù)不同的測(cè)試用例,再將E與E′中的測(cè)試用例按順序?qū)?yīng),最終生成測(cè)試用例數(shù)為4 410的規(guī)范測(cè)試集。

    實(shí)驗(yàn)測(cè)試運(yùn)行在Ubuntu 14.04.6環(huán)境下,具體配置為AMD Ryzen 52 500U with Radeon Vega Mobile Gfx 2.00GHz、8GB內(nèi)存。

    3.2 實(shí)驗(yàn)結(jié)果分析

    3.2.1 測(cè)試集校驗(yàn)結(jié)果分析

    測(cè)試集校驗(yàn)方案對(duì)缺陷測(cè)試集的校驗(yàn)結(jié)果如表2和圖6所示,其中Chart項(xiàng)目中包含的錯(cuò)誤用例數(shù)為35個(gè),實(shí)際檢出數(shù)為38個(gè),即測(cè)試集校驗(yàn)方案存在少量的誤報(bào)。Defects4J中的其他項(xiàng)目與Chart項(xiàng)目類似,也存在少量的誤報(bào)。Defects4J中4個(gè)項(xiàng)目的誤報(bào)率分別為8.57%、5.26%、7.02%和7.94%,平均誤報(bào)率為7.20%,具體如圖7所示。

    表2 測(cè)試集校驗(yàn)結(jié)果

    實(shí)驗(yàn)結(jié)果表明,文中所提出的測(cè)試集校驗(yàn)方案能夠根據(jù)測(cè)試用例的執(zhí)行流判斷測(cè)試集的正確性,高準(zhǔn)度地定位測(cè)試集中臟測(cè)試用例的位置,并通過(guò)臟測(cè)試用例的錯(cuò)誤位置,將臟測(cè)試用例修改正確。雖然測(cè)試集校驗(yàn)方案存在少量的誤報(bào),但誤報(bào)率較小,能夠?qū)㈠e(cuò)誤測(cè)試用例的范圍顯著縮小,并由人工在修改臟測(cè)試用例時(shí)確認(rèn)誤報(bào)的測(cè)試用例。

    3.2.2 過(guò)濾補(bǔ)丁方案實(shí)驗(yàn)結(jié)果分析

    GenProg在修復(fù)Defects4J中缺陷時(shí)可選的補(bǔ)丁候選者較少,因此,文中在Defects4J中添加額外代碼,從而提供比GenProg更多的補(bǔ)丁候選者驗(yàn)證補(bǔ)丁校驗(yàn)方案。GenProg和PAR中添加補(bǔ)丁校驗(yàn)方案前后修復(fù)缺陷數(shù)對(duì)比分別如表3和表4所示。實(shí)驗(yàn)結(jié)果表明,GenProg和GenProg Plus、PAR和PAR Plus修復(fù)Defects4J中各項(xiàng)目的缺陷數(shù)都分別相同,因而添加補(bǔ)丁校驗(yàn)方案不影響自動(dòng)程序修復(fù)方法的穩(wěn)定性。添加補(bǔ)丁校驗(yàn)方案后,自動(dòng)程序修復(fù)方法仍然能夠盡可能地修復(fù)程序缺陷。

    圖6 錯(cuò)誤用例數(shù)和測(cè)試集校驗(yàn)方案實(shí)例檢出數(shù)對(duì)比

    圖7 測(cè)試集校驗(yàn)方案誤報(bào)率

    表3 GenProg添加方案前后修復(fù)缺陷數(shù)對(duì)比

    表4 PAR添加前后修復(fù)缺陷數(shù)對(duì)比

    圖8揭示了Math項(xiàng)目(版本號(hào):85)內(nèi)UnivariateRealSolverUtils.Java文件中缺陷程序代碼片段使用補(bǔ)丁校驗(yàn)方案前后的修復(fù)結(jié)果。在添加補(bǔ)丁校驗(yàn)方案前,修復(fù)后的程序雖然能夠通過(guò)測(cè)試集,但仍然存在缺陷。如圖8(b)中第200行所示,程序無(wú)法應(yīng)對(duì)function不為空且需要拋出異常的情況;而添加補(bǔ)丁校驗(yàn)方案后,條件語(yǔ)句中涵蓋的情況更多,獲取的補(bǔ)丁能夠通過(guò)測(cè)試集且不包含新的缺陷。從實(shí)驗(yàn)修復(fù)結(jié)果不難發(fā)現(xiàn),自動(dòng)程序修復(fù)方法修復(fù)缺陷的結(jié)果存在安全隱患,而添加文中所提出的補(bǔ)丁校驗(yàn)方案后,在修復(fù)缺陷的同時(shí),選擇的補(bǔ)丁更為安全有效。

    圖8 添加補(bǔ)丁校驗(yàn)方案前后的修復(fù)結(jié)果對(duì)比

    4 結(jié)束語(yǔ)

    筆者指出自動(dòng)程序修復(fù)方法在修復(fù)缺陷過(guò)程中存在的兩種安全隱患場(chǎng)景,即臟補(bǔ)丁源場(chǎng)景和臟測(cè)試集場(chǎng)景,并為兩種安全隱患場(chǎng)景分別提出相應(yīng)的解決方案,即補(bǔ)丁校驗(yàn)方案和測(cè)試集校驗(yàn)方案。此外,基于Defects4J庫(kù)中的測(cè)試用例和缺陷程序進(jìn)行了實(shí)驗(yàn)測(cè)試。實(shí)驗(yàn)結(jié)果表明,筆者所提出的測(cè)試集校驗(yàn)方案能夠精確地定位臟測(cè)試用例,并具有較小的平均誤報(bào)率(即7.2%);所提出的補(bǔ)丁校驗(yàn)方案不影響自動(dòng)程序修復(fù)方法的穩(wěn)定性,并能夠促使自動(dòng)程序修復(fù)方法獲取更安全有效的補(bǔ)丁。筆者所提出的兩種解決方案能夠有效消除自動(dòng)程序修復(fù)方法在修復(fù)過(guò)程中出現(xiàn)的安全隱患,并提高程序修復(fù)的穩(wěn)定性和修復(fù)后程序的安全性。

    猜你喜歡
    程序方法
    學(xué)習(xí)方法
    試論我國(guó)未決羈押程序的立法完善
    失能的信仰——走向衰亡的民事訴訟程序
    “程序猿”的生活什么樣
    英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
    可能是方法不對(duì)
    用對(duì)方法才能瘦
    Coco薇(2016年2期)2016-03-22 02:42:52
    創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
    四大方法 教你不再“坐以待病”!
    Coco薇(2015年1期)2015-08-13 02:47:34
    賺錢方法
    成人精品一区二区免费| 精品欧美一区二区三区在线| 精品电影一区二区在线| 美国免费a级毛片| 成人精品一区二区免费| 无限看片的www在线观看| 亚洲 欧美一区二区三区| 97超级碰碰碰精品色视频在线观看| а√天堂www在线а√下载| 国产真人三级小视频在线观看| 国产精品1区2区在线观看.| 国产成人精品久久二区二区免费| bbb黄色大片| 亚洲av电影在线进入| 久久精品国产亚洲av香蕉五月| 热re99久久国产66热| 国产精品 欧美亚洲| 国产单亲对白刺激| 国产av一区在线观看免费| 国产一区二区激情短视频| 午夜福利欧美成人| 欧美日韩亚洲高清精品| 女人爽到高潮嗷嗷叫在线视频| 亚洲男人的天堂狠狠| 国产成人av教育| 一夜夜www| 女人高潮潮喷娇喘18禁视频| 国产视频一区二区在线看| 国产精品久久久久成人av| 夜夜夜夜夜久久久久| 中文字幕人妻丝袜制服| 伊人久久大香线蕉亚洲五| netflix在线观看网站| 欧美成狂野欧美在线观看| 欧美日韩中文字幕国产精品一区二区三区 | 成人亚洲精品一区在线观看| 午夜福利一区二区在线看| 一区二区三区激情视频| 一级毛片女人18水好多| 成人黄色视频免费在线看| 久久久久久久久久久久大奶| 村上凉子中文字幕在线| 亚洲专区字幕在线| 国产成人啪精品午夜网站| 国产精品久久久久久人妻精品电影| 日本五十路高清| 欧美日韩亚洲高清精品| 亚洲自拍偷在线| 大型黄色视频在线免费观看| 国产精品免费视频内射| 欧美久久黑人一区二区| 丝袜人妻中文字幕| 啦啦啦 在线观看视频| 国产野战对白在线观看| 欧美成人午夜精品| 人妻久久中文字幕网| 18禁裸乳无遮挡免费网站照片 | 欧美成人午夜精品| 黄片大片在线免费观看| 啦啦啦 在线观看视频| 麻豆成人av在线观看| 少妇的丰满在线观看| 国产免费av片在线观看野外av| 色婷婷久久久亚洲欧美| 99热国产这里只有精品6| 国产一区二区激情短视频| 亚洲精品国产区一区二| 9191精品国产免费久久| 午夜免费鲁丝| 久久久国产一区二区| 日韩大码丰满熟妇| 女性生殖器流出的白浆| 久久精品国产清高在天天线| 精品国产超薄肉色丝袜足j| 在线观看免费高清a一片| 99久久综合精品五月天人人| 国产伦人伦偷精品视频| 国产一区在线观看成人免费| 色老头精品视频在线观看| 黄色毛片三级朝国网站| 可以免费在线观看a视频的电影网站| 久久精品亚洲av国产电影网| 成在线人永久免费视频| 巨乳人妻的诱惑在线观看| 身体一侧抽搐| 国产精品乱码一区二三区的特点 | 日韩三级视频一区二区三区| 亚洲av成人不卡在线观看播放网| 亚洲专区国产一区二区| 人人澡人人妻人| 免费av中文字幕在线| 欧美精品一区二区免费开放| 性少妇av在线| 淫妇啪啪啪对白视频| 一本综合久久免费| 久久精品亚洲熟妇少妇任你| 一进一出抽搐gif免费好疼 | 丰满迷人的少妇在线观看| 欧美久久黑人一区二区| 最新美女视频免费是黄的| 日日夜夜操网爽| 亚洲午夜理论影院| 久久久久国产精品人妻aⅴ院| 夜夜看夜夜爽夜夜摸 | 男女床上黄色一级片免费看| 亚洲狠狠婷婷综合久久图片| 电影成人av| 国产欧美日韩一区二区精品| 欧美黄色淫秽网站| 校园春色视频在线观看| 久久影院123| 午夜91福利影院| 9热在线视频观看99| 亚洲 欧美 日韩 在线 免费| 99久久人妻综合| 精品人妻在线不人妻| 成年人免费黄色播放视频| 亚洲av第一区精品v没综合| 香蕉国产在线看| 精品久久久久久成人av| 中文亚洲av片在线观看爽| 18禁国产床啪视频网站| 成人黄色视频免费在线看| 脱女人内裤的视频| 午夜影院日韩av| 91av网站免费观看| 国产av一区在线观看免费| 国产精品亚洲一级av第二区| 在线天堂中文资源库| 亚洲人成电影免费在线| 美国免费a级毛片| 在线视频色国产色| 免费搜索国产男女视频| 黄色丝袜av网址大全| 一级黄色大片毛片| 亚洲熟妇熟女久久| 国产成人一区二区三区免费视频网站| 热99国产精品久久久久久7| 啦啦啦免费观看视频1| 国产成人精品无人区| 亚洲国产中文字幕在线视频| 日本黄色视频三级网站网址| 天堂√8在线中文| 一级作爱视频免费观看| 无限看片的www在线观看| 国产一区在线观看成人免费| 欧美乱妇无乱码| 精品国内亚洲2022精品成人| 亚洲国产精品999在线| 天堂中文最新版在线下载| 欧美成人免费av一区二区三区| 欧美精品亚洲一区二区| 亚洲视频免费观看视频| 在线观看免费午夜福利视频| 国产伦一二天堂av在线观看| 宅男免费午夜| 真人一进一出gif抽搐免费| 国产成人欧美在线观看| 丰满饥渴人妻一区二区三| 精品乱码久久久久久99久播| 免费在线观看亚洲国产| 在线观看免费视频日本深夜| 91成年电影在线观看| 成人国语在线视频| 一区二区三区激情视频| 国产亚洲欧美在线一区二区| 欧美中文综合在线视频| 12—13女人毛片做爰片一| 国产免费现黄频在线看| 欧美中文综合在线视频| 自线自在国产av| 免费女性裸体啪啪无遮挡网站| 亚洲avbb在线观看| 午夜视频精品福利| 少妇裸体淫交视频免费看高清 | 纯流量卡能插随身wifi吗| 嫩草影视91久久| 国产免费av片在线观看野外av| 久久精品国产亚洲av高清一级| 极品人妻少妇av视频| av国产精品久久久久影院| 成年版毛片免费区| 国产亚洲精品久久久久久毛片| ponron亚洲| 两个人免费观看高清视频| 精品久久久久久久毛片微露脸| 十八禁人妻一区二区| 人人妻人人澡人人看| 人人澡人人妻人| 色老头精品视频在线观看| 女人高潮潮喷娇喘18禁视频| 中文字幕人妻丝袜一区二区| 精品福利永久在线观看| 日本vs欧美在线观看视频| 午夜成年电影在线免费观看| 国产亚洲精品一区二区www| 久久婷婷成人综合色麻豆| 国产av一区二区精品久久| 日韩欧美免费精品| 日韩有码中文字幕| 亚洲色图综合在线观看| 妹子高潮喷水视频| 一区二区日韩欧美中文字幕| 天堂√8在线中文| 少妇 在线观看| 亚洲精品久久成人aⅴ小说| 国产精品自产拍在线观看55亚洲| 高清毛片免费观看视频网站 | 日韩大尺度精品在线看网址 | 人人妻人人爽人人添夜夜欢视频| 天堂动漫精品| 亚洲黑人精品在线| 一进一出抽搐动态| 99热只有精品国产| 久久人人97超碰香蕉20202| 99re在线观看精品视频| 俄罗斯特黄特色一大片| 99riav亚洲国产免费| 日本撒尿小便嘘嘘汇集6| 亚洲欧洲精品一区二区精品久久久| 热re99久久国产66热| 欧美人与性动交α欧美软件| 老汉色∧v一级毛片| av在线播放免费不卡| 久久久国产精品麻豆| 老鸭窝网址在线观看| 18禁黄网站禁片午夜丰满| 成人影院久久| 精品久久久久久久久久免费视频 | 村上凉子中文字幕在线| 国产精品久久久人人做人人爽| 女性生殖器流出的白浆| 国产黄色免费在线视频| 首页视频小说图片口味搜索| 亚洲在线自拍视频| 黄色成人免费大全| 美女大奶头视频| 成人亚洲精品一区在线观看| 欧美乱妇无乱码| 免费在线观看日本一区| 夜夜看夜夜爽夜夜摸 | 宅男免费午夜| 久久精品人人爽人人爽视色| 人成视频在线观看免费观看| 很黄的视频免费| 国产精品野战在线观看 | 51午夜福利影视在线观看| 欧美日韩视频精品一区| 国产精品一区二区在线不卡| 激情在线观看视频在线高清| 婷婷精品国产亚洲av在线| 午夜免费观看网址| 中文字幕人妻丝袜制服| 日本撒尿小便嘘嘘汇集6| 日日夜夜操网爽| 亚洲一区二区三区色噜噜 | 亚洲av熟女| 国产精华一区二区三区| 午夜老司机福利片| 熟女少妇亚洲综合色aaa.| 精品久久久精品久久久| 亚洲伊人色综图| 男女床上黄色一级片免费看| 天堂中文最新版在线下载| 美女 人体艺术 gogo| 免费在线观看日本一区| 亚洲三区欧美一区| 欧美午夜高清在线| 亚洲九九香蕉| 日本wwww免费看| 久久久久久久久免费视频了| 国产精品免费视频内射| 在线观看免费视频网站a站| 性色av乱码一区二区三区2| 亚洲色图 男人天堂 中文字幕| 最新美女视频免费是黄的| 亚洲欧美日韩另类电影网站| 他把我摸到了高潮在线观看| 人成视频在线观看免费观看| 日本vs欧美在线观看视频| 在线观看免费高清a一片| ponron亚洲| 国产一区二区激情短视频| 别揉我奶头~嗯~啊~动态视频| 久久热在线av| 色老头精品视频在线观看| 久久国产精品男人的天堂亚洲| 国产伦人伦偷精品视频| 欧美一级毛片孕妇| a级毛片黄视频| 欧美在线黄色| 国产伦人伦偷精品视频| 婷婷丁香在线五月| a级毛片黄视频| 精品一品国产午夜福利视频| 男女下面插进去视频免费观看| 欧美成人免费av一区二区三区| 在线十欧美十亚洲十日本专区| 国产av在哪里看| 久久久精品欧美日韩精品| 精品国产一区二区久久| 日韩大尺度精品在线看网址 | 手机成人av网站| 欧美日韩亚洲高清精品| 琪琪午夜伦伦电影理论片6080| 99热国产这里只有精品6| 热re99久久国产66热| 婷婷精品国产亚洲av在线| 欧美激情高清一区二区三区| 国产精品美女特级片免费视频播放器 | 搡老乐熟女国产| 亚洲色图av天堂| 久久狼人影院| 99riav亚洲国产免费| 久久久久久久久免费视频了| 欧美亚洲日本最大视频资源| 亚洲成人国产一区在线观看| 青草久久国产| 国产高清国产精品国产三级| 动漫黄色视频在线观看| 国产一卡二卡三卡精品| 欧美乱妇无乱码| xxxhd国产人妻xxx| 国产成人欧美| 在线免费观看的www视频| 国产av又大| 国产97色在线日韩免费| 欧美国产精品va在线观看不卡| 在线观看免费视频网站a站| 亚洲人成电影观看| 亚洲在线自拍视频| 一区二区三区激情视频| 国产一区二区三区综合在线观看| 操出白浆在线播放| 国产亚洲精品一区二区www| 亚洲欧美日韩无卡精品| 免费人成视频x8x8入口观看| 国产av一区在线观看免费| 热re99久久精品国产66热6| 亚洲精品国产精品久久久不卡| 日本wwww免费看| 国产精品久久久久成人av| 男女午夜视频在线观看| 亚洲七黄色美女视频| 中文字幕最新亚洲高清| 老熟妇乱子伦视频在线观看| 人人妻人人爽人人添夜夜欢视频| 搡老岳熟女国产| 人人妻,人人澡人人爽秒播| 国产有黄有色有爽视频| 久久久国产成人精品二区 | 国产精品亚洲一级av第二区| 国产亚洲精品一区二区www| 国产精品久久久av美女十八| 久久久久久久精品吃奶| 国产精品一区二区在线不卡| 欧美日韩亚洲高清精品| 国产av精品麻豆| 一级片'在线观看视频| 一级黄色大片毛片| 亚洲视频免费观看视频| 国产成人精品无人区| 欧洲精品卡2卡3卡4卡5卡区| 国产精品免费视频内射| 国产精品一区二区三区四区久久 | 亚洲国产中文字幕在线视频| 侵犯人妻中文字幕一二三四区| 岛国视频午夜一区免费看| 日韩有码中文字幕| 午夜福利影视在线免费观看| 精品国产一区二区三区四区第35| 一级片免费观看大全| 精品第一国产精品| 女人被躁到高潮嗷嗷叫费观| 91成年电影在线观看| 亚洲国产中文字幕在线视频| 丰满饥渴人妻一区二区三| 欧美日韩中文字幕国产精品一区二区三区 | 国产一区二区三区视频了| 午夜福利免费观看在线| 99久久综合精品五月天人人| 久久香蕉精品热| 日韩视频一区二区在线观看| 成年女人毛片免费观看观看9| 一级a爱视频在线免费观看| 天堂√8在线中文| 女人精品久久久久毛片| 欧美精品啪啪一区二区三区| 国产欧美日韩一区二区三| 国产精品美女特级片免费视频播放器 | 日本五十路高清| 久久中文字幕人妻熟女| 色综合欧美亚洲国产小说| 免费在线观看影片大全网站| 日韩视频一区二区在线观看| 成人亚洲精品av一区二区 | 亚洲五月天丁香| 一级毛片女人18水好多| 无遮挡黄片免费观看| 精品福利永久在线观看| 亚洲精品国产色婷婷电影| 日韩免费av在线播放| 亚洲aⅴ乱码一区二区在线播放 | 久久精品亚洲精品国产色婷小说| 欧美在线黄色| 制服诱惑二区| 亚洲欧美一区二区三区久久| 男女做爰动态图高潮gif福利片 | 久久精品人人爽人人爽视色| 国内久久婷婷六月综合欲色啪| 亚洲全国av大片| 免费搜索国产男女视频| 窝窝影院91人妻| 国产av在哪里看| 又大又爽又粗| 韩国av一区二区三区四区| 亚洲激情在线av| 性少妇av在线| 精品少妇一区二区三区视频日本电影| 亚洲av美国av| 亚洲一区高清亚洲精品| 精品一区二区三区视频在线观看免费 | 久久精品国产清高在天天线| 日韩一卡2卡3卡4卡2021年| av免费在线观看网站| 琪琪午夜伦伦电影理论片6080| 午夜成年电影在线免费观看| 久久人人97超碰香蕉20202| 免费搜索国产男女视频| 国产成人免费无遮挡视频| 男女下面进入的视频免费午夜 | 91精品国产国语对白视频| 色在线成人网| 99热只有精品国产| 十分钟在线观看高清视频www| 日日摸夜夜添夜夜添小说| 国产男靠女视频免费网站| 又大又爽又粗| 91在线观看av| 88av欧美| 免费久久久久久久精品成人欧美视频| 午夜精品国产一区二区电影| a级毛片在线看网站| 亚洲av成人一区二区三| 国产精品国产av在线观看| 日本撒尿小便嘘嘘汇集6| 亚洲精品中文字幕在线视频| 国内毛片毛片毛片毛片毛片| 久久影院123| 美女大奶头视频| 午夜精品久久久久久毛片777| 成年版毛片免费区| 久久精品人人爽人人爽视色| 国产精品一区二区在线不卡| 亚洲美女黄片视频| 午夜精品在线福利| 欧美精品啪啪一区二区三区| 琪琪午夜伦伦电影理论片6080| 一级片'在线观看视频| 18禁观看日本| 国产成人精品久久二区二区91| 免费一级毛片在线播放高清视频 | av在线播放免费不卡| 精品熟女少妇八av免费久了| 黑人巨大精品欧美一区二区mp4| 久久久国产精品麻豆| 淫妇啪啪啪对白视频| 日韩欧美一区二区三区在线观看| 99香蕉大伊视频| 午夜两性在线视频| 亚洲国产精品一区二区三区在线| 丁香六月欧美| 国产精品一区二区三区四区久久 | 女性被躁到高潮视频| 亚洲精品美女久久av网站| 在线播放国产精品三级| 国产三级在线视频| 免费在线观看黄色视频的| 女同久久另类99精品国产91| 少妇裸体淫交视频免费看高清 | 首页视频小说图片口味搜索| 又黄又粗又硬又大视频| 黄色视频不卡| 黄片播放在线免费| 精品人妻在线不人妻| 欧美丝袜亚洲另类 | 亚洲精品粉嫩美女一区| 性欧美人与动物交配| 日韩精品青青久久久久久| 欧美成狂野欧美在线观看| 水蜜桃什么品种好| 黄频高清免费视频| 亚洲国产欧美网| 国产午夜精品久久久久久| 黑人欧美特级aaaaaa片| 亚洲精品久久成人aⅴ小说| 桃色一区二区三区在线观看| 国产精品综合久久久久久久免费 | 日韩欧美三级三区| 色尼玛亚洲综合影院| 日韩 欧美 亚洲 中文字幕| 狂野欧美激情性xxxx| 婷婷精品国产亚洲av在线| 欧美人与性动交α欧美精品济南到| 曰老女人黄片| 亚洲av电影在线进入| 久久人人爽av亚洲精品天堂| 久久国产精品男人的天堂亚洲| 精品久久久久久电影网| 老熟妇仑乱视频hdxx| 久久精品成人免费网站| 热99国产精品久久久久久7| 91精品三级在线观看| 美女 人体艺术 gogo| 一本综合久久免费| 午夜免费成人在线视频| 欧美日韩乱码在线| 丰满人妻熟妇乱又伦精品不卡| 亚洲成人免费电影在线观看| 91精品三级在线观看| 一进一出抽搐动态| 日韩免费高清中文字幕av| 国产精品香港三级国产av潘金莲| 国产黄色免费在线视频| 国产av一区在线观看免费| 丝袜在线中文字幕| 嫩草影院精品99| 大码成人一级视频| 手机成人av网站| 免费在线观看完整版高清| 国产国语露脸激情在线看| av电影中文网址| avwww免费| 如日韩欧美国产精品一区二区三区| 真人做人爱边吃奶动态| 91成人精品电影| 一级,二级,三级黄色视频| 我的亚洲天堂| 午夜免费成人在线视频| 天堂中文最新版在线下载| 中文字幕最新亚洲高清| 18禁观看日本| 日日干狠狠操夜夜爽| 成人影院久久| 91成人精品电影| 国产欧美日韩综合在线一区二区| 亚洲一区二区三区色噜噜 | av网站在线播放免费| 久久久国产欧美日韩av| 国产麻豆69| 好男人电影高清在线观看| 亚洲色图 男人天堂 中文字幕| 久久国产精品影院| 精品福利永久在线观看| 热99国产精品久久久久久7| 叶爱在线成人免费视频播放| 91九色精品人成在线观看| 久久久国产精品麻豆| 看黄色毛片网站| 美女高潮喷水抽搐中文字幕| 制服人妻中文乱码| 另类亚洲欧美激情| 国产片内射在线| 丰满的人妻完整版| 亚洲精品国产色婷婷电影| 精品一品国产午夜福利视频| 久久久国产一区二区| 波多野结衣av一区二区av| 成人国语在线视频| 国产野战对白在线观看| 97超级碰碰碰精品色视频在线观看| 亚洲精品一区av在线观看| 精品国产一区二区久久| 天天躁夜夜躁狠狠躁躁| 99在线视频只有这里精品首页| 精品一区二区三区视频在线观看免费 | 欧美日韩中文字幕国产精品一区二区三区 | a级片在线免费高清观看视频| 国产一区二区激情短视频| 欧美中文综合在线视频| avwww免费| 法律面前人人平等表现在哪些方面| 日韩 欧美 亚洲 中文字幕| 婷婷丁香在线五月| 亚洲国产看品久久| 黑人猛操日本美女一级片| av视频免费观看在线观看| 丰满人妻熟妇乱又伦精品不卡| 久久狼人影院| 国产精品久久电影中文字幕| 久久久国产欧美日韩av| 夜夜夜夜夜久久久久| 亚洲欧美日韩无卡精品| 成年女人毛片免费观看观看9| 波多野结衣av一区二区av| 狂野欧美激情性xxxx| 精品一区二区三卡| 一级片'在线观看视频| 久久狼人影院| www.精华液| a级片在线免费高清观看视频| 91老司机精品| 国产一区二区在线av高清观看| 看片在线看免费视频| 天天添夜夜摸| 欧美国产精品va在线观看不卡| 精品福利永久在线观看| 国产精品98久久久久久宅男小说| 久久精品成人免费网站| 在线观看www视频免费| 久9热在线精品视频| 18禁观看日本| 老司机午夜十八禁免费视频| 免费看a级黄色片| 成人国语在线视频|