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

    基于標識符的代碼影響域自動化分析方法

    2021-08-23 09:02:22付高生
    計算機測量與控制 2021年8期
    關(guān)鍵詞:標識符隊列語句

    紀 承,付高生,白 洋

    (北京京航計算通訊研究所,北京 100074)

    0 引言

    軟件在軍隊裝備中的作用和地位日益提高,軟件質(zhì)量對軍隊戰(zhàn)斗力生成有著直接影響,只有確保裝備軟件可靠、穩(wěn)定,才能保證軍隊裝備在關(guān)鍵時候發(fā)揮作用[1]。為避免因軟件故障而造成裝備無法使用的情況,軍隊對裝備軟件的可靠性和穩(wěn)定性要求極高。對裝備軟件進行質(zhì)量評測可以大幅度提升裝備軟件的可靠性和穩(wěn)定性,因而質(zhì)量評測方法的研究對提高裝備軟件的質(zhì)量有重要意義[2]。軟件質(zhì)量評測過程中自動化工具只能實現(xiàn)部分測試功能[3],還有較多工作是由人工操作完成。根據(jù)相關(guān)軍用軟件測試標準和規(guī)定,裝備軟件評測過程要經(jīng)過多輪迭代,不斷修正通過軟件測試發(fā)現(xiàn)的軟件問題。每一輪迭代前后的兩個版本的代碼差異較大,修改后代碼的影響域分析至關(guān)重要,目前該部分軟件評測完全依賴人工實現(xiàn)。為節(jié)約裝備軟件質(zhì)量評測所耗費的成本和時間,在質(zhì)量評測過程中使用代碼自動化比對工具是現(xiàn)今測試機構(gòu)廣泛使用的方法,對軟件評測自動化工具進行研究顯得格外重要。本文首先介紹了基于標識符的代碼對比方法提取修改特征的流程,并介紹了基于修改特征分析影響域的代碼分析方法,然后通過實驗證明在大型工程代碼比對工作中該分析方法有較好效果,最后就該方法的有效性和實用性進行了分析,并對后續(xù)研究方向進行展望。

    1 相關(guān)工作

    軟件評測領(lǐng)域與惡意代碼檢測、程序編譯等多個領(lǐng)域均有交集,各種方法繁雜混亂,在軟件影響域分析問題上并沒有已經(jīng)成型的方法。軟件質(zhì)量評測分析方法一般分為動態(tài)分析方法[4]和靜態(tài)分析方法[5]兩種,動態(tài)分析方法需要運行程序,而靜態(tài)分析方法則是對源代碼進行分析。代碼自動化比對工具的分析內(nèi)容以程序源代碼為主,主要應(yīng)用靜態(tài)分析方法。代碼的靜態(tài)分析方法有很多種,一般使用較為廣泛的包括基于抽象語法樹、結(jié)構(gòu)圖、標識符、度量值的代碼分析方法?;诔橄笳Z法樹的代碼分析方法[6]在分析過程中引入編譯器生成的抽象語法樹,可以精準的分析代碼結(jié)構(gòu)和改變,但是時間復(fù)雜度較高,不適合代碼規(guī)模較大的代碼對比?;诳刂屏鲌D的代碼分析方法[7]從代碼語義結(jié)構(gòu)角度出發(fā),分析思路與基于抽象語法樹的方法有一定相似,但是也不適合大型工程代碼比對?;跇俗R符屬性特征向量相似度的代碼分析方法[8]使用了標識符和屬性度量值兩種方法,具有時間復(fù)雜度低、容易擴展到多種語言的特點,但是需要根據(jù)具體問題衡量代碼分析方法的有效性?,F(xiàn)有代碼對比靜態(tài)分析方法主要從代碼語句角度分析代碼的相似度,但缺乏影響域分析等對代碼的深層邏輯分析。代碼深層邏輯分析可以挖掘軟件的隱藏隱患,更加符合軟件質(zhì)量評測工作的需求,對代碼深層邏輯分析方法的研究愈發(fā)受到重視。軟件質(zhì)量評測目前有成熟的靜態(tài)分析工具,但該工具只分析每次迭代前后的代碼變化項,無法分析代碼變化項的影響域,導(dǎo)致裝備軟件迭代修改后的代碼必須作為全新代碼重新進行整體質(zhì)量評測,耗費大量資源和人力,影響裝備批產(chǎn)效率。因此,對裝備軟件代碼變化項影響域的自動化分析方法進行研究是有重要意義的。

    2 研究內(nèi)容

    2.1 數(shù)據(jù)分析

    本文研究的裝備軟件程序為c語言工程代碼,具有可靠性高、代碼較規(guī)范和規(guī)模較大的特點。代碼可靠性高即不需要考慮是否存在程序編譯錯誤,裝備軟件可以直接按照可運行的標準c語言程序處理。代碼規(guī)范整齊節(jié)省了很多數(shù)據(jù)清洗的時間,代碼使用的標識符容易識別,不會出現(xiàn)混亂的情況,這是我們選擇基于標識符的代碼靜態(tài)分析方法原因之一。代碼規(guī)模限制分析算法的時間復(fù)雜度,大規(guī)模c語言代碼[9]并不適合使用基于抽象語法樹[10]等分析方法,所以我們選擇時間復(fù)雜度較低的基于標識符的代碼分析方法。

    本文研究的裝備軟件程序包含多迭代版本,我們選取已經(jīng)迭代穩(wěn)定的版本作為研究數(shù)據(jù),該數(shù)據(jù)不出現(xiàn)大規(guī)模代碼修改,適合修改特征影響域分析。我們選取一個版本的程序稱為代碼A,然后選取代碼A經(jīng)過軟件質(zhì)量評測后迭代修改一次后的程序稱為代碼B,分析研究代碼A和代碼B之間的修改特征提取和修改特征影響域。代碼A和代碼B均為多文件c語言程序,代碼B是基于代碼A的修改版本,修改操作包含增、刪、改等操作。迭代情況穩(wěn)定后,代碼A和代碼B不出現(xiàn)連續(xù)10行以上的增、刪操作。代碼A和代碼B都符合標準的代碼書寫規(guī)范,我們可以直接考慮行與行之間的修改對比,而不需要考慮空行、符號、斷句不規(guī)范的問題。

    2.2 基于標識符的修改特征提取

    本文提取的修改特征主要是迭代前后代碼直接變化的變量。本節(jié)首先介紹了數(shù)據(jù)清洗過程中代碼行映射關(guān)系表的構(gòu)建,然后介紹了本文使用的標識符表的構(gòu)建方法。之后我們具體介紹了提取修改特征過程中,先提取代碼A和代碼B行對應(yīng)狀態(tài),再依據(jù)對應(yīng)狀態(tài)提取變量變化情況的方法。最后我們介紹了特殊標識符(for、if、return等)的修改特征提取。

    2.2.1 數(shù)據(jù)清洗

    代碼A和代碼B都是標準的裝備軟件程序,我們不需要考慮代碼中出現(xiàn)錯誤語句、缺失語句等造成程序編譯錯誤的問題,也不需要考慮代碼中出現(xiàn)多余語句、無效語句等需要修改源代碼的情況。對代碼A和代碼B的數(shù)據(jù)清洗[11]主要是除去代碼中的注釋、多余的空格和空號。程序數(shù)據(jù)清洗后會與數(shù)據(jù)清洗前代碼出現(xiàn)行對應(yīng)變化,為方便修改特征與源代碼一一對應(yīng),我們構(gòu)建了數(shù)據(jù)清洗行映射關(guān)系表,該映射關(guān)系表記錄了代碼數(shù)據(jù)清洗前后代碼行對應(yīng)關(guān)系。

    2.2.2 標識符表

    構(gòu)建代碼A和代碼B的標識符表以用于提取代碼修改特征。代碼A和代碼B均為同類型的代碼,我們可以以相同的方法為代碼A和代碼B構(gòu)建標識符表。我們提取的修改特征主要為變量賦值變化,以修改特征提取需求設(shè)計3個標識符表:類型表、函數(shù)表、變量表。

    類型表存儲c語言程序中變量和函數(shù)的類型,在構(gòu)建函數(shù)表和變量表的時候可以以類型表中標識符為索引進行檢索。首先在類型表中加入常用的變量類型(int、char、double、float等)以及函數(shù)特有的類型void,可根據(jù)程序加入long long int、short等變量類型。然后,我們在類型表中加入c語言程序的自定義類型,依次加入結(jié)構(gòu)體、枚舉、聯(lián)合體等類型。以結(jié)構(gòu)體為例,我們以struct標識符在代碼中檢索結(jié)構(gòu)體聲明位置,將結(jié)構(gòu)體名記錄到類型表中以供后續(xù)使用。在后續(xù)研究中我們將按照統(tǒng)一方式使用類型表中的標識符,不區(qū)分常用類型和自定義類型。

    函數(shù)表存儲程序中定義的函數(shù),在修改特征提取和影響域分析過程中均會使用函數(shù)表。我們記錄函數(shù)名為標識符,并記錄函數(shù)類型、起始位置、終止位置,在后續(xù)需要分析函數(shù)變化的時候可以直接檢索到函數(shù)位置。

    變量表存儲程序中定義的變量,以類型表中標識符檢索變量聲明位置,我們記錄變量名為標識符,并記錄變量類型、變量所屬函數(shù)、變量聲明位置,不考慮未聲明直接使用的變量。我們對指針變量和數(shù)組亦做特殊處理,然后存入變量表中作為標識符使用。指針變量可以直接在變量名前增加“*”作為標識符,不影響后續(xù)使用。數(shù)組提前數(shù)組名作為標識符存入變量表,記錄特殊數(shù)組標記以在后續(xù)使用時進行特殊處理。結(jié)構(gòu)體等自定義類型變量在記錄標識符時不做特殊處理,在后續(xù)使用時再進行特殊處理。

    2.2.3 修改特征提取

    本文提取的修改特征是在代碼A和代碼B之間對比提取修改、增加和刪除的代碼。由于代碼A和代碼B不出現(xiàn)大篇幅修改,我們先對比代碼A和代碼B行變化情況,再逐行對比代碼A和代碼B每行變量變化的情況。

    行變化情況包括修改、增加、刪除3種狀態(tài),再考慮行未發(fā)生改變的狀態(tài),我們設(shè)置4種行對應(yīng)狀態(tài)來描述代碼A和代碼B各行對應(yīng)狀態(tài)。如果只考慮未發(fā)生改變和修改兩種狀態(tài),代碼A中每一行均可在代碼B中尋得,即代碼A和代碼B是逐行對應(yīng)的,并且從代碼開始到結(jié)束按順序逐一對應(yīng)。增加和刪除兩種狀態(tài)影響了代碼按順序逐一對應(yīng)的關(guān)系,并且增加或者刪除的行可能和未發(fā)生改變或者修改的行產(chǎn)生歧義,即兩行代碼相似度非常高,影響行對應(yīng)狀態(tài)。

    本文提出了一種基于行相似度匹配的滑動窗口方法,實現(xiàn)了代碼行對應(yīng)狀態(tài)逐一對應(yīng)關(guān)系檢測。由于代碼不出現(xiàn)連續(xù)10行以上的增、刪操作,我們設(shè)置一個窗口長度為10的滑動窗口,將代碼B逐行放入窗口隊列中。然后從上往下逐行將代碼A與窗口隊列中每一行代碼匹配,完全一致的代碼認為行匹配成功,記錄匹配信息的同時更新窗口隊列;不完全匹配的代碼則記錄代碼相似度,等待進一步處理。相似度可通過動態(tài)規(guī)劃算法計算兩行代碼的最長公共子串得到。在代碼A和代碼B匹配完成后,我們得到一個已確定未發(fā)生改變狀態(tài)的匹配對應(yīng)關(guān)系,然后我們將其中不完全匹配的對應(yīng)關(guān)系按照相似度確定修改、增加、刪除3種狀態(tài)。遍歷匹配對應(yīng)關(guān)系中不完全匹配的關(guān)系,如果存在相似度高于預(yù)設(shè)闕值且沒有已經(jīng)匹配到的修改狀態(tài)對應(yīng)關(guān)系的兩行,我們可以將其設(shè)置為修改狀態(tài)對應(yīng)關(guān)系;然后將代碼A中剩余行設(shè)置為刪除狀態(tài);代碼B中剩余行設(shè)置為增加狀態(tài)。通過上述方法我們獲取了代碼A和代碼B按順序逐一對應(yīng)的行狀態(tài)。該方法具體流程如圖1所示。

    圖1 基于行相似度匹配的滑動窗口方法

    在代碼A和代碼B行對應(yīng)狀態(tài)確定之后,我們通過標識符識別提取代碼A和代碼B的修改特征,在本小節(jié)我們主要提取賦值語句中代碼修改的情況,記錄修改內(nèi)容和修改位置(行號)。首先構(gòu)建3個標識符表,考慮到裝備軟件程序為多文件c語言程序,我們首先建立代碼A和代碼B的文件調(diào)用關(guān)系,即檢索每個文件的首部是否調(diào)用其他文件。然后我們依次構(gòu)建每個文件的類型表、函數(shù)表、變量表,在每個表構(gòu)建完成后均要按照文件調(diào)用關(guān)系進行標識符表通信,將每個文件所引用的標識符加入該文件對應(yīng)的標識符表中。然后遍歷代碼A和代碼B提取發(fā)生改變的賦值語句中修改的代碼,未發(fā)生改變狀態(tài)的代碼不存在改變的語句,遍歷過程中可以直接跳過。代碼A中刪除狀態(tài)的語句和代碼B中增加狀態(tài)的語句可以直接記錄修改特征。修改狀態(tài)的行需要先進行斷句,然后判斷對應(yīng)的賦值語句是否存在或者是否發(fā)生變化,不同的分別在代碼A和代碼B記錄修改特征。經(jīng)過上述處理,我們在代碼A和代碼B中分別記錄了其修改特征。

    2.2.4 特殊標識符

    在本小節(jié)我們將提取幾類特殊標識符的修改特征。特殊標識符的修改特征與賦值語句修改特征方法不完全相同,我們針對循環(huán)語句、條件語句和return等特殊標識符提出了不同的提取方法。

    循環(huán)語句(標識符for、while)分為循環(huán)體和循環(huán)條件兩部分,循環(huán)體內(nèi)修改特征按照普通修改特征處理。循環(huán)條件的發(fā)生變化時,我們記錄循環(huán)條件發(fā)生的變化以及變化的位置。

    標識符為if的條件語句處理方法與循環(huán)語句相似,如果條件變化則記錄條件語句修改特征。但是條件語句需要額外考慮在if后出現(xiàn)的else if和else標識符。標識符else if處理方法與if相同,標識符else則需考慮條件語句if和else if的條件是否變化,如果變化則在else處記錄條件語句修改特征。

    其他特殊標識符種類很多,大部分需要依據(jù)代碼需求專門處理,我們主要提及兩個常用的標識符return和define處理。標識符return主要出現(xiàn)在函數(shù)當中,用于函數(shù)的返回值,如果函數(shù)的返回值發(fā)生變化,我們對該函數(shù)記錄下來該函數(shù)名和修改位置。標識符define是c語言程序中的宏定義,如果宏定義語句出現(xiàn)變化,我們可以將宏定義定義的標識符加入變量表,按照變量進行處理,并直接記錄其修改特征。

    2.3 修改特征影響域分析

    修改特征提取只是對代碼變化的直接處理,而影響域分析是基于代碼邏輯對代碼變化深層影響的分析,所以影響域分析是我們對代碼進行深層次的邏輯分析,挖掘裝備軟件每次迭代對程序造成的影響。本節(jié)依次介紹了基層影響域和多層影響域的分析方法,然后提出了基于標識符檢測隊列的影響域分析方法,該方法可以實現(xiàn)復(fù)雜的裝備軟件影響域分析。

    2.3.1 基于修改特征的影響域確定

    基于修改特征的影響域是指在修改特征提取過程中未提取到修改特征,但受到修改特征影響的變量,我們主要記錄受到影響的標識符(主要為變量名)和位置。本文的修改特征是代碼中出現(xiàn)變化的賦值語句、條件語句等,依據(jù)不同類型的修改特征需要分別確定影響域。本文修改特征主要記錄的是賦值語句中修改的代碼和修改位置,影響域為賦值語句中被賦值的變量。

    特殊標識符的修改特征需要特殊處理以確定影響域。循環(huán)語句修改特征是循環(huán)條件的變化,循環(huán)體內(nèi)所有變量均可能因循環(huán)條件的變化而受到影響,所以影響域為循環(huán)體內(nèi)所有賦值語句被賦值的變量。條件語句影響域與循環(huán)語句一樣,只是需要分別考慮if、else if和else三種。標識符return用于函數(shù)的返回值,如果函數(shù)的返回值發(fā)生變化,即檢測到return后內(nèi)容發(fā)生變化,調(diào)用該函數(shù)的代碼均會產(chǎn)生影響,所以return標識符修改特征的影響域為調(diào)用該函數(shù)的所有賦值語句的被賦值變量。

    2.3.2 多層影響域分析

    在上小節(jié)中我們介紹了基于修改特征的影響域確定,該影響域為修改特征直接確定的第一層影響域,我們稱其為基層影響域。代碼中可能出現(xiàn)不是修改特征或者基層影響域,但是程序運行過程中受基層影響域影響可能出現(xiàn)變化的變量,我們把該種情況的分析過程稱為多層影響域分析。多層影響域我們主要記錄多層影響域的標識符(主要為變量名)、位置和分析層數(shù)。相較于基層影響域分析,多層影響域分析邏輯相對復(fù)雜,且可能出現(xiàn)特殊循環(huán)情況。

    多層影響域分析是以基層影響域分析為基石,進行整個程序的影響域分析?;鶎佑绊懹蛴涗浀臑樽兞繕俗R符,我們按照變量類型確定基層影響域中每個標識符影響的代碼,仿照基層影響域分析第二層影響域,記錄變量標識符和位置,然后重復(fù)上述方法可得多層影響域。變量分為局部、全局、跨文件變量3種類型,變量類型可以通過查詢變量表確定。局部變量只需在聲明函數(shù)里考慮影響域,全局變量則在聲明文件中考慮影響域,跨文件變量在所有文件中都可能受到影響。多文件代碼全局變量需額外考慮出現(xiàn)跨文件調(diào)用全局變量的情況,我們在變量表建立過程中已經(jīng)進行過跨文件情況的全局變量通信,只需在影響域檢測過程中檢測引用到的其他文件全局變量即可。

    裝備軟件中出現(xiàn)的干擾影響域分析的循環(huán)情況主要包含代碼循環(huán)和邏輯循環(huán)兩種。代碼循環(huán)是在c語言程序中出現(xiàn)的變量交互影響,即在某一位置變量a影響變量b,然后在后續(xù)代碼中變量b又影響變量a,或者多個變量交互影響的情況,在影響域分析過程中需要特殊處理。邏輯循環(huán)出現(xiàn)在c語言程序中經(jīng)常使用遞歸的方法,主要以遞歸函數(shù)為主,在遞歸函數(shù)中很容易出現(xiàn)一變量發(fā)生改變,并且傳遞到下一次遞歸中,這樣會出現(xiàn)無窮多層影響域,也需要特殊處理。對代碼中標記已檢測的位置并不能很好地解決特殊循環(huán)問題,因為c語言程序中的遞歸很多,所以我們提出了一種解決影響域分析過程中特殊循環(huán)情況的方法。我們每次進行一層影響域的分析,在后續(xù)影響域分析過程中,對代碼中已經(jīng)標記影響域的位置,我們要檢測新影響域變量標識符是否與已有影響域記錄的標識符完全相同,如果相同則不會開啟新一層影響域分析。在下一小節(jié)中我們敘述了通過標識符檢測隊列應(yīng)用該策略解決特殊循環(huán)情況,保證多層影響域分析的可行性。

    2.3.3 基于標識符檢測隊列的影響域分析

    裝備軟件修改特征影響域分析既包含了從修改特征中分析基層影響域,又包含了從基層影響域分析多層影響域。多層影響域的分析邏輯相當復(fù)雜,時間復(fù)雜度、空間復(fù)雜度都比較高,我們提出了一種基于標識符檢測隊列的影響域分析方法,在降低了時間、空間復(fù)雜度的情況下準確分析了多層影響域,適合于裝備軟件修改特征影響域分析。

    基于標識符檢測隊列的影響域分析用檢測隊列存儲多層影響域分析中改變的變量,從程序運行邏輯的角度進行影響域分析,將多層影響域分析的樹形邏輯轉(zhuǎn)化為線性邏輯。依據(jù)裝備軟件c語言程序特點,c語言程序的main函數(shù)一般是程序啟動的入口,并且main函數(shù)可以控制程序調(diào)用其他函數(shù)。如果以main函數(shù)為分析的起始點,可以遵從程序運行的規(guī)則,避免盲目檢索過程中重復(fù)分析不必要片段的操作。我們依據(jù)程序運行邏輯依次檢測main函數(shù)和其他調(diào)用函數(shù),在每個函數(shù)內(nèi)進行影響域分析,然后通過檢測隊列通訊實現(xiàn)函數(shù)之間的影響域分析。我們在每個函數(shù)內(nèi)建立了兩個標識符檢測隊列,分別為局部檢測隊列和全局檢測隊列。局部檢測隊列主要存儲影響域分析過程中記錄的局部變量,并且該函數(shù)影響域分析結(jié)束后清空該隊列。全局檢測隊列中既要存儲全局變量,又要存儲跨文件變量。全局檢測隊列不僅作用于某一函數(shù)的影響域分析,還和其他函數(shù)的影響域分析有關(guān)。

    基于標識符檢測隊列的影響域分析主要包含以下幾個步驟。1)遍歷代碼,依據(jù)修改特征確定基層影響域;2)在c語言程序中找到main函數(shù)并加入待檢測函數(shù),以main函數(shù)為函數(shù)分析的起始點進行影響域分析,初始化標識符檢測隊列;3)遍歷待檢測函數(shù)中函數(shù)的代碼,將基層影響域中的變量加入標識符檢測隊列;同時依據(jù)標識符檢測隊列中標識符判斷該行代碼是否受影響,受影響則進行影響域分析將結(jié)果加入標識符檢測隊列,此即為多層影響域分析。為解決循環(huán)問題,我們在將變量加入標識符檢測隊列時,先檢測標識符檢測隊列中是否已有該變量,重復(fù)則不加入;4)在遍歷代碼過程中檢測到調(diào)用函數(shù)的情況,將調(diào)用函數(shù)加入待檢測函數(shù),并將全局檢測隊列傳遞到該函數(shù)影響域分析過程中使用的全局檢測隊列中,重復(fù)第三步。為解決循環(huán)問題,我們記錄每個函數(shù)已經(jīng)分析過的標識符檢測隊列為歷史記錄,如果再次調(diào)用該函數(shù)時,標識符檢測隊列與歷史記錄相同,則不再重復(fù)對該函數(shù)檢測。基于標識符檢測隊列的影響域分析具體流程如圖2所示。

    圖2 基于標識符檢測隊列的影響域分析

    3 實驗結(jié)果與分析

    本節(jié)敘述了本文的實驗設(shè)置和結(jié)果。本文進行了兩個實驗,功能實驗以自行設(shè)計的代碼為測試數(shù)據(jù)測試了基于標識符修改特征的提取方法和基于標識符檢測隊列的影響域分析方法,展示了本文方法的檢測結(jié)果;公開數(shù)據(jù)集實驗采用公開數(shù)據(jù)集,驗證了本文提出的方法在裝備軟件質(zhì)量評測工作中的有效性。

    3.1 功能實驗

    功能實驗分塊測試了基于標識符的修改特征提取方法和基于標識符檢測隊列的影響域分析方法。修改特征分別設(shè)立了增加、刪除、修改3種,影響域分析分別設(shè)立了賦值語句、條件語句、函數(shù)調(diào)用、跨文件調(diào)用4個模塊的測試。功能實驗數(shù)據(jù)集為自行設(shè)計的c語言程序,分為版本1和版本2,每個版本有main.c和test.c兩個文件,文件詳細內(nèi)容見附錄。運行檢測程序,實驗運行時間不超過1 s,程序運行結(jié)果如圖3所示。

    圖3 功能實驗結(jié)果

    圖3中thisIsOld和thisIsNew分別為版本1和版本2的分析結(jié)果,因代碼修改中存在增加和刪除,版本1和版本2的分析結(jié)果不一一對應(yīng)。實驗輸出為行號和影響域內(nèi)容(下文我們用{行號,修改內(nèi)容}表示),分析結(jié)果的基層影響域如圖3(a)和多層影響域如圖3(b)。在main.c的test1函數(shù)中設(shè)置了賦值語句修改特征,依據(jù)修改特征實驗得到基層影響域{7,a}和多層影響域{8,b}{9,c}。在main.c的test2函數(shù)中設(shè)置了條件語句修改特征,依據(jù)修改特征實驗得到基層影響域{19,temp}和多層影響域{21,result}。在main.c的test3函數(shù)中設(shè)置了修改特征影響函數(shù)調(diào)用過程中的形參和return,依據(jù)修改特征實驗得到基層影響域{34,x}和受形參影響的多層影響域{26,result}、受return影響的{36,z}。在main.c的test4函數(shù)中設(shè)置了跨文件調(diào)用test.c的函數(shù),依據(jù)修改特征實驗得到基層影響域{7,c}{8,c}和多層影響域{8,c}{9,d}{10,e}。

    在功能實驗中我們檢測出了所有設(shè)置的修改特征,并且分析出可能受影響的變量標識符,準確率達100%。依據(jù)上述功能實驗結(jié)果我們得出結(jié)論,以本文提出的修改特征提取和影響域分析方法設(shè)計的檢測程序可以實現(xiàn)賦值語句、條件語句、函數(shù)調(diào)用、跨文件調(diào)用等情況下C語言程序的影響域分析。

    3.2 公開數(shù)據(jù)集實驗

    公開數(shù)據(jù)集實驗以公開數(shù)據(jù)集https://github.com/antirez/sds中sds.c、sds.h、sdsalloc.h、testhelp.h為版本3程序,設(shè)置少量修改為版本4程序,對版本3和版本4代碼進行影響域分析。版本3程序修改具體內(nèi)容如表1所示運行檢測程序,運行時間不超過1 s,程序運行結(jié)果如表2所示。

    表1 公開數(shù)據(jù)集修改表

    表2 公開數(shù)據(jù)集影響域分析結(jié)果

    在公開數(shù)據(jù)集實驗中,我們以公開數(shù)據(jù)集為數(shù)據(jù)測試了基于標識符的修改特征提取方法和基于標識符檢測隊列的影響域分析方法。公開數(shù)據(jù)集實驗基層影響域共檢測到4個,多層影響域共檢測到38個,其中錯誤識別數(shù)量為6個,實驗結(jié)果準確率為85.7%。對實驗結(jié)果分析,實驗中錯誤識別影響域的原因是檢測程序的檢測規(guī)則設(shè)定不完善,可以按照c語言規(guī)則繼續(xù)完善。公開數(shù)據(jù)集實驗驗證了本文提出的方法在大型工程C語言程序中的有效性。

    4 結(jié)束語

    軟件質(zhì)量評測的自動化可以大幅提高評測效率,是未來裝備軟件質(zhì)量評測發(fā)展的主要方向。本文提出的基于標識符的修改特征提取方法和基于標識符檢測隊列的影響域分析方法自動化實現(xiàn)了裝備軟件修改特征提取和影響域分析,在質(zhì)量評測領(lǐng)域提出了一種有效的影響域分析方法,推進了裝備軟件質(zhì)量評測自動化。在后續(xù)的工作中,將軟件影響域分析與其他自動化分析工具相結(jié)合,實現(xiàn)裝備軟件質(zhì)量評測的全面自動化,是我們后續(xù)研究的重點內(nèi)容。

    猜你喜歡
    標識符隊列語句
    淺析5G V2X 通信應(yīng)用現(xiàn)狀及其側(cè)鏈路標識符更新技術(shù)
    基于底層虛擬機的標識符混淆方法
    重點:語句銜接
    隊列里的小秘密
    基于多隊列切換的SDN擁塞控制*
    軟件(2020年3期)2020-04-20 00:58:44
    基于區(qū)塊鏈的持久標識符系統(tǒng)①
    在隊列里
    精彩語句
    豐田加速駛?cè)胱詣玉{駛隊列
    數(shù)字美術(shù)館“數(shù)字對象唯一標識符系統(tǒng)”建設(shè)需求淺議
    最近的中文字幕免费完整| 国产精品爽爽va在线观看网站| 久久久久久久久中文| 99久久人妻综合| 一区二区三区四区激情视频| 欧美激情在线99| 精品一区二区三区视频在线| 亚洲成人一二三区av| 久久精品国产鲁丝片午夜精品| 久久久精品免费免费高清| a级一级毛片免费在线观看| 国产精品不卡视频一区二区| 伦理电影大哥的女人| 日韩欧美 国产精品| 国产 一区精品| 亚洲精品乱久久久久久| 免费观看性生交大片5| 国产黄色小视频在线观看| 亚洲aⅴ乱码一区二区在线播放| 色播亚洲综合网| 成人av在线播放网站| 精品99又大又爽又粗少妇毛片| 高清毛片免费看| 久久久精品免费免费高清| av福利片在线观看| 亚洲精品成人久久久久久| 国产精品国产三级国产av玫瑰| 最近视频中文字幕2019在线8| 国产成人a∨麻豆精品| 好男人在线观看高清免费视频| 国产一级毛片在线| 国产又色又爽无遮挡免| 亚洲国产高清在线一区二区三| 中文欧美无线码| 国产一区亚洲一区在线观看| 国精品久久久久久国模美| 亚洲精品国产av成人精品| 午夜激情欧美在线| 欧美97在线视频| 人妻一区二区av| 欧美不卡视频在线免费观看| 一区二区三区高清视频在线| 亚洲18禁久久av| 国产精品久久久久久av不卡| 午夜激情福利司机影院| 成人午夜精彩视频在线观看| av福利片在线观看| av国产免费在线观看| 国产av不卡久久| 丝袜美腿在线中文| 久久精品夜色国产| 成年女人在线观看亚洲视频 | 亚洲欧美成人精品一区二区| av网站免费在线观看视频 | 在线免费观看不下载黄p国产| 日韩一区二区三区影片| 欧美成人精品欧美一级黄| 日韩欧美一区视频在线观看 | 精品久久久久久久久亚洲| 国产精品久久久久久精品电影| 菩萨蛮人人尽说江南好唐韦庄| 舔av片在线| 毛片女人毛片| 成年女人在线观看亚洲视频 | 亚洲乱码一区二区免费版| 我的女老师完整版在线观看| 亚洲欧美日韩卡通动漫| 内地一区二区视频在线| 亚洲精品一二三| 成年女人看的毛片在线观看| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 97人妻精品一区二区三区麻豆| 青青草视频在线视频观看| 国产视频内射| 伊人久久精品亚洲午夜| www.色视频.com| 大片免费播放器 马上看| 蜜桃久久精品国产亚洲av| 美女被艹到高潮喷水动态| 少妇丰满av| 午夜老司机福利剧场| 18禁裸乳无遮挡免费网站照片| 我的女老师完整版在线观看| 久久久午夜欧美精品| 天天躁夜夜躁狠狠久久av| 国产伦一二天堂av在线观看| 国产在线男女| 99久久中文字幕三级久久日本| 岛国毛片在线播放| 亚洲精品中文字幕在线视频 | 97精品久久久久久久久久精品| 深爱激情五月婷婷| 国产精品福利在线免费观看| 国产午夜精品久久久久久一区二区三区| 日韩欧美精品v在线| 国产黄频视频在线观看| 久久久久久九九精品二区国产| 三级国产精品欧美在线观看| 亚洲欧美精品自产自拍| 天堂av国产一区二区熟女人妻| 日本一本二区三区精品| 欧美最新免费一区二区三区| 日韩不卡一区二区三区视频在线| 女人十人毛片免费观看3o分钟| 日本黄色片子视频| videos熟女内射| 嘟嘟电影网在线观看| 噜噜噜噜噜久久久久久91| 一级毛片我不卡| 欧美丝袜亚洲另类| 美女被艹到高潮喷水动态| 日本免费在线观看一区| 我的女老师完整版在线观看| 2021少妇久久久久久久久久久| 欧美日韩亚洲高清精品| 久久鲁丝午夜福利片| 神马国产精品三级电影在线观看| 中国国产av一级| 国产精品一区www在线观看| 国产综合懂色| 亚洲第一区二区三区不卡| 九九久久精品国产亚洲av麻豆| 日日干狠狠操夜夜爽| 午夜福利视频1000在线观看| 免费在线观看成人毛片| 免费看不卡的av| 男的添女的下面高潮视频| 丰满人妻一区二区三区视频av| 欧美zozozo另类| 亚洲精品成人av观看孕妇| 国产欧美日韩精品一区二区| 少妇丰满av| 亚洲精品国产av成人精品| 亚洲三级黄色毛片| 国产黄频视频在线观看| 久久久久九九精品影院| 人妻一区二区av| 亚洲欧美成人综合另类久久久| 精品久久久精品久久久| 赤兔流量卡办理| 日韩欧美精品v在线| 日韩成人av中文字幕在线观看| 毛片女人毛片| 女的被弄到高潮叫床怎么办| av在线亚洲专区| 街头女战士在线观看网站| 狂野欧美激情性xxxx在线观看| 国产亚洲av嫩草精品影院| 久久精品国产鲁丝片午夜精品| 亚洲人成网站在线观看播放| 国产黄色免费在线视频| 综合色丁香网| 国产v大片淫在线免费观看| 亚洲,欧美,日韩| 中文天堂在线官网| 国产亚洲最大av| 五月天丁香电影| 99热这里只有是精品50| 两个人的视频大全免费| 青春草亚洲视频在线观看| 三级毛片av免费| 久久久a久久爽久久v久久| 肉色欧美久久久久久久蜜桃 | eeuss影院久久| 啦啦啦中文免费视频观看日本| 国产综合精华液| 亚洲欧美中文字幕日韩二区| 免费看不卡的av| 亚洲精品久久久久久婷婷小说| 国产亚洲午夜精品一区二区久久 | 男女国产视频网站| 韩国av在线不卡| 日日啪夜夜爽| 成人亚洲精品一区在线观看 | 亚洲精品成人av观看孕妇| 人人妻人人看人人澡| 亚洲激情五月婷婷啪啪| 久久99热这里只频精品6学生| 亚洲成人一二三区av| 不卡视频在线观看欧美| 少妇被粗大猛烈的视频| 国产av国产精品国产| 久久精品久久久久久久性| 国产成人一区二区在线| 免费播放大片免费观看视频在线观看| 一区二区三区免费毛片| 一级av片app| 十八禁网站网址无遮挡 | a级毛片免费高清观看在线播放| 日韩亚洲欧美综合| 在线播放无遮挡| 亚洲欧美日韩无卡精品| 少妇猛男粗大的猛烈进出视频 | 99热全是精品| 亚洲av成人精品一区久久| 午夜久久久久精精品| 一级毛片黄色毛片免费观看视频| 国产亚洲91精品色在线| 97精品久久久久久久久久精品| 国产午夜精品一二区理论片| 亚洲精品成人久久久久久| 欧美激情在线99| 九九爱精品视频在线观看| 大陆偷拍与自拍| 免费不卡的大黄色大毛片视频在线观看 | 少妇猛男粗大的猛烈进出视频 | 国产大屁股一区二区在线视频| 大陆偷拍与自拍| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 99久久九九国产精品国产免费| 日韩中字成人| 国产成人a∨麻豆精品| 老师上课跳d突然被开到最大视频| 亚洲国产高清在线一区二区三| 免费观看a级毛片全部| 丰满乱子伦码专区| 亚洲精品456在线播放app| 久久久久国产网址| 草草在线视频免费看| 免费观看无遮挡的男女| 成人美女网站在线观看视频| 免费高清在线观看视频在线观看| 免费电影在线观看免费观看| 啦啦啦中文免费视频观看日本| 国产伦理片在线播放av一区| 成人一区二区视频在线观看| 亚洲成色77777| 精品人妻视频免费看| 国内少妇人妻偷人精品xxx网站| 日韩精品青青久久久久久| 七月丁香在线播放| 久久韩国三级中文字幕| 亚洲精品第二区| 又黄又爽又刺激的免费视频.| videos熟女内射| 成人欧美大片| 人人妻人人看人人澡| 午夜福利网站1000一区二区三区| 亚洲熟妇中文字幕五十中出| 美女内射精品一级片tv| 午夜精品国产一区二区电影 | 国产成人精品福利久久| 一区二区三区高清视频在线| 婷婷色麻豆天堂久久| 高清日韩中文字幕在线| 亚洲av电影在线观看一区二区三区 | 女人久久www免费人成看片| 亚洲欧美精品专区久久| 久久人人爽人人爽人人片va| 国产精品嫩草影院av在线观看| 亚洲图色成人| 特级一级黄色大片| 天天躁夜夜躁狠狠久久av| 中文精品一卡2卡3卡4更新| 欧美xxxx黑人xx丫x性爽| 亚洲av电影不卡..在线观看| 久久鲁丝午夜福利片| 永久网站在线| 亚洲精品色激情综合| 亚洲婷婷狠狠爱综合网| 国产片特级美女逼逼视频| 99热这里只有是精品50| 成人欧美大片| av天堂中文字幕网| 亚洲精品乱码久久久久久按摩| 91精品一卡2卡3卡4卡| 国产精品1区2区在线观看.| 亚洲精品,欧美精品| 国产精品爽爽va在线观看网站| 一本久久精品| 乱码一卡2卡4卡精品| 亚洲av二区三区四区| 日产精品乱码卡一卡2卡三| 男的添女的下面高潮视频| 国产午夜精品久久久久久一区二区三区| 国产午夜精品久久久久久一区二区三区| 2018国产大陆天天弄谢| 有码 亚洲区| av卡一久久| 丰满少妇做爰视频| 晚上一个人看的免费电影| 国产成人精品一,二区| 久久久久久久久久人人人人人人| 日韩欧美精品免费久久| 国产黄片美女视频| 高清毛片免费看| 偷拍熟女少妇极品色| av免费观看日本| eeuss影院久久| 亚洲国产精品sss在线观看| 精品人妻偷拍中文字幕| 精品久久久久久久久亚洲| 黑人高潮一二区| 日韩制服骚丝袜av| 亚洲av成人av| 欧美另类一区| 精品久久久久久久末码| 国产精品熟女久久久久浪| 亚洲一区高清亚洲精品| a级毛色黄片| 免费看av在线观看网站| 亚洲精品影视一区二区三区av| 免费看日本二区| 国产一级毛片七仙女欲春2| 天美传媒精品一区二区| 中文字幕av在线有码专区| 色吧在线观看| 亚洲av在线观看美女高潮| 国产精品一区二区性色av| 毛片一级片免费看久久久久| 国产探花极品一区二区| 青春草亚洲视频在线观看| 国产日韩欧美在线精品| 一级毛片 在线播放| 久久草成人影院| 一级爰片在线观看| 亚洲精品乱码久久久久久按摩| 午夜免费激情av| 十八禁网站网址无遮挡 | 在线免费观看不下载黄p国产| 精品酒店卫生间| 免费看a级黄色片| 男人舔女人下体高潮全视频| 噜噜噜噜噜久久久久久91| 亚洲va在线va天堂va国产| 日韩 亚洲 欧美在线| 亚洲精品成人av观看孕妇| 久久6这里有精品| 久久久久网色| 18禁动态无遮挡网站| 亚洲av成人精品一区久久| 高清视频免费观看一区二区 | 一个人免费在线观看电影| 日韩欧美精品免费久久| 欧美成人精品欧美一级黄| 亚洲精华国产精华液的使用体验| 国产av码专区亚洲av| 久久国产乱子免费精品| 麻豆国产97在线/欧美| 久久久久九九精品影院| 特大巨黑吊av在线直播| 日日啪夜夜爽| 欧美bdsm另类| 欧美日韩亚洲高清精品| 少妇人妻一区二区三区视频| 久久99热6这里只有精品| 午夜福利网站1000一区二区三区| 午夜精品在线福利| 日本黄大片高清| 好男人视频免费观看在线| 天天一区二区日本电影三级| 亚洲精品久久午夜乱码| 内射极品少妇av片p| 久久精品综合一区二区三区| 国产淫语在线视频| 亚洲内射少妇av| 国产精品麻豆人妻色哟哟久久 | 日韩视频在线欧美| 亚洲熟妇中文字幕五十中出| 大又大粗又爽又黄少妇毛片口| 亚洲伊人久久精品综合| 精品久久久久久成人av| 成人国产麻豆网| 亚洲欧美中文字幕日韩二区| av线在线观看网站| 99久久九九国产精品国产免费| av在线蜜桃| 成人国产麻豆网| 男女视频在线观看网站免费| 久久99精品国语久久久| 纵有疾风起免费观看全集完整版 | 男人舔女人下体高潮全视频| 舔av片在线| 男人爽女人下面视频在线观看| 晚上一个人看的免费电影| 欧美变态另类bdsm刘玥| 午夜福利网站1000一区二区三区| 七月丁香在线播放| 成人无遮挡网站| 久热久热在线精品观看| 午夜免费男女啪啪视频观看| 两个人的视频大全免费| 97超视频在线观看视频| 观看免费一级毛片| 777米奇影视久久| 国产成人a区在线观看| 国产精品国产三级国产av玫瑰| 老师上课跳d突然被开到最大视频| 色综合亚洲欧美另类图片| 亚洲av在线观看美女高潮| 九九久久精品国产亚洲av麻豆| 亚洲精品国产av蜜桃| av免费观看日本| 99久国产av精品| 国产一区二区在线观看日韩| 欧美高清性xxxxhd video| 在线观看一区二区三区| 别揉我奶头 嗯啊视频| 热99在线观看视频| 欧美高清性xxxxhd video| 久久这里只有精品中国| 亚洲国产精品国产精品| 精品一区二区免费观看| 国产大屁股一区二区在线视频| 亚洲伊人久久精品综合| 国产精品麻豆人妻色哟哟久久 | 尾随美女入室| 国产精品一区二区三区四区久久| 免费黄网站久久成人精品| 亚洲国产高清在线一区二区三| 午夜福利在线观看免费完整高清在| 久久精品国产亚洲av涩爱| 美女cb高潮喷水在线观看| 亚洲丝袜综合中文字幕| 日韩欧美 国产精品| 欧美一区二区亚洲| 国产伦精品一区二区三区四那| 久久精品人妻少妇| 国产黄片视频在线免费观看| 99久久精品一区二区三区| 亚洲怡红院男人天堂| 免费看日本二区| av在线观看视频网站免费| 在线 av 中文字幕| 少妇高潮的动态图| 嫩草影院精品99| 午夜久久久久精精品| 自拍偷自拍亚洲精品老妇| 最近手机中文字幕大全| 色综合色国产| 国产亚洲午夜精品一区二区久久 | 免费看av在线观看网站| 99久国产av精品国产电影| 大又大粗又爽又黄少妇毛片口| 乱码一卡2卡4卡精品| 伦理电影大哥的女人| 高清av免费在线| 18禁动态无遮挡网站| 夫妻性生交免费视频一级片| 97在线视频观看| 亚洲精品一区蜜桃| 免费无遮挡裸体视频| 亚洲精品国产成人久久av| 国产乱人偷精品视频| 久久热精品热| 国产精品久久久久久av不卡| 成人二区视频| 日韩成人伦理影院| 免费不卡的大黄色大毛片视频在线观看 | 一级a做视频免费观看| 久久草成人影院| 久久热精品热| 两个人视频免费观看高清| 夜夜爽夜夜爽视频| 97人妻精品一区二区三区麻豆| 成人av在线播放网站| 色网站视频免费| 日日干狠狠操夜夜爽| 国产白丝娇喘喷水9色精品| 毛片一级片免费看久久久久| 人妻夜夜爽99麻豆av| 亚洲精品第二区| 国产午夜精品久久久久久一区二区三区| 国产精品久久久久久久久免| 一级毛片 在线播放| 国产激情偷乱视频一区二区| 国产男人的电影天堂91| 少妇的逼水好多| 日日干狠狠操夜夜爽| 最近中文字幕2019免费版| 午夜福利在线观看吧| 国产免费一级a男人的天堂| 少妇熟女欧美另类| 草草在线视频免费看| 亚洲天堂国产精品一区在线| 国国产精品蜜臀av免费| 国产伦在线观看视频一区| 日本av手机在线免费观看| 欧美日韩综合久久久久久| 亚洲精品日本国产第一区| 国产av在哪里看| 九九爱精品视频在线观看| xxx大片免费视频| 97超碰精品成人国产| 欧美zozozo另类| 夜夜看夜夜爽夜夜摸| 99热全是精品| 日本wwww免费看| 可以在线观看毛片的网站| 18禁在线播放成人免费| 女人久久www免费人成看片| 性插视频无遮挡在线免费观看| 亚洲电影在线观看av| 久久精品国产亚洲网站| 黄片无遮挡物在线观看| 久久久a久久爽久久v久久| 国产精品爽爽va在线观看网站| 精品酒店卫生间| 五月天丁香电影| 亚洲精品日韩在线中文字幕| 女人被狂操c到高潮| 免费电影在线观看免费观看| 中文字幕av在线有码专区| 午夜福利视频精品| 中文天堂在线官网| 欧美丝袜亚洲另类| 国产真实伦视频高清在线观看| 亚洲av在线观看美女高潮| 97在线视频观看| 欧美不卡视频在线免费观看| 久久久久精品性色| 久久精品久久久久久噜噜老黄| 国产成人a区在线观看| 免费大片18禁| 亚洲国产高清在线一区二区三| 麻豆精品久久久久久蜜桃| 日韩制服骚丝袜av| 波多野结衣巨乳人妻| 国产色爽女视频免费观看| 中国国产av一级| 欧美日韩综合久久久久久| 一级黄片播放器| 日韩伦理黄色片| 午夜精品一区二区三区免费看| 免费大片18禁| 欧美xxⅹ黑人| 麻豆av噜噜一区二区三区| 一级毛片 在线播放| 国产精品不卡视频一区二区| 插阴视频在线观看视频| 久久久久久九九精品二区国产| 午夜福利成人在线免费观看| 高清av免费在线| 国产成人精品福利久久| 国产成人aa在线观看| 最新中文字幕久久久久| 秋霞伦理黄片| 亚洲高清免费不卡视频| 亚洲av国产av综合av卡| 老师上课跳d突然被开到最大视频| 中国国产av一级| 熟女电影av网| 亚洲欧美一区二区三区国产| 国产精品av视频在线免费观看| 一级毛片aaaaaa免费看小| 一区二区三区四区激情视频| 两个人的视频大全免费| 内地一区二区视频在线| 国产亚洲午夜精品一区二区久久 | 亚洲美女视频黄频| 亚洲精华国产精华液的使用体验| 亚洲va在线va天堂va国产| av播播在线观看一区| 免费黄频网站在线观看国产| 欧美日韩视频高清一区二区三区二| 午夜福利在线观看免费完整高清在| 久久草成人影院| 九色成人免费人妻av| 国产成人freesex在线| 中文乱码字字幕精品一区二区三区 | 午夜精品在线福利| 久久精品国产自在天天线| 久久久精品免费免费高清| 91久久精品国产一区二区成人| 91午夜精品亚洲一区二区三区| 高清在线视频一区二区三区| 青春草亚洲视频在线观看| 免费观看在线日韩| 99久国产av精品| 久久久久久国产a免费观看| 国产精品1区2区在线观看.| 麻豆精品久久久久久蜜桃| 亚洲精品色激情综合| 日本熟妇午夜| 国产麻豆成人av免费视频| 国产成人91sexporn| 亚洲无线观看免费| 亚洲精品日本国产第一区| 久久精品夜夜夜夜夜久久蜜豆| 国产在线男女| 男插女下体视频免费在线播放| 亚洲熟女精品中文字幕| 一级毛片aaaaaa免费看小| 午夜福利在线观看吧| 国产午夜精品久久久久久一区二区三区| 夜夜爽夜夜爽视频| 嫩草影院入口| 午夜福利在线在线| 亚洲在线观看片| 91久久精品国产一区二区成人| 亚洲av中文av极速乱| 国产精品麻豆人妻色哟哟久久 | 1000部很黄的大片| 色尼玛亚洲综合影院| 久久综合国产亚洲精品| 大话2 男鬼变身卡| 欧美成人午夜免费资源| 欧美性猛交╳xxx乱大交人| 国产免费一级a男人的天堂| 亚洲av在线观看美女高潮| 观看美女的网站| 男的添女的下面高潮视频| 直男gayav资源| 青青草视频在线视频观看| 男的添女的下面高潮视频| 亚洲天堂国产精品一区在线| av在线播放精品| 亚洲精品亚洲一区二区| 国产一区有黄有色的免费视频 | 中文资源天堂在线| 男人和女人高潮做爰伦理| 国产伦精品一区二区三区视频9| 国产亚洲精品av在线| 国产淫片久久久久久久久| 99久久精品热视频|