999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

空指針引用缺陷分類假陽性識別方法

2017-12-14 05:35:38王曙燕權雅菲孫家澤
計算機應用 2017年10期
關鍵詞:程序報告分類

王曙燕,權雅菲,孫家澤

(西安郵電大學 計算機學院,西安 710061) (*通信作者電子郵箱wsylxj@126.com)

空指針引用缺陷分類假陽性識別方法

王曙燕*,權雅菲,孫家澤

(西安郵電大學 計算機學院,西安 710061) (*通信作者電子郵箱wsylxj@126.com)

針對靜態測試中空指針引用缺陷假陽性問題,提出一種空指針引用缺陷分類假陽性識別方法。挖掘空指針引用缺陷知識,對空指針引用缺陷知識進行預處理,生成空指針引用缺陷數據集;通過基于粗糙集理論屬性重要性的ID3算法分類空指針引用缺陷數據集,分類結果有假陽性空指針引用缺陷實例和真實空指針引用缺陷實例兩種;根據分類結果對靜態測試中的空指針引用缺陷進行假陽性識別,確認真實的空指針引用缺陷。該方法對十個基準程序和基于主流靜態測試工具FindBugs的空指針引用缺陷檢測方法相比,空指針引用缺陷假陽性降低率平均為25%,減少了24%的空指針引用缺陷確認。實驗結果表明,該方法在靜態測試方面能有效降低缺陷確認開銷,提高空指針引用缺陷檢測效率和穩定性。

靜態測試;空指針引用缺陷;假陽性識別;缺陷分類;缺陷確認

0 引言

軟件缺陷由不合理的設計和軟件開發人員的疏忽引起[1-2],軟件缺陷導致軟件運行時失效,軟件缺陷頻發會帶來極大危害。面向代碼缺陷的軟件靜態測試技術正逐漸受到軟件業界的青睞[3],包括靜態缺陷檢測和缺陷確認兩個階段。當前軟件行業越來越依賴自動化缺陷檢測工具檢測軟件缺陷[4],自動化缺陷檢測工具在靜態缺陷檢測效率方面很有優勢,但會報告大量缺陷,而驗證這些缺陷的正確性時主要的缺陷確認工作仍由人工完成[5],高耗時耗力的缺陷審查工作會降低該工具在軟件開發流程中的可用性。靜態測試優化技術試圖在靜態缺陷檢測工具運行后進行缺陷報告優化,降低缺陷確認負擔,從另一個角度提升工具的檢測效率和精度[5]。

據中國國家信息安全漏洞庫統計,由空指針引用(Null Pointer Dereference, NPD)缺陷造成的安全漏洞引發了許多嚴重的安全問題。目前的缺陷檢測方法有動態檢測和靜態檢測、動態檢測輸入樣例很難構造;靜態檢測則在代碼覆蓋率方面有優勢,檢測缺陷時更有針對性。所以,基于NPD缺陷知識在靜態測試后進行NPD缺陷假陽性識別,能有效降低缺陷確認開銷,進而提升軟件測試整體效率。

在現有的靜態缺陷檢測方法中,Zhang等[6]通過分析缺陷報告優化缺陷檢測結果,但未考慮噪聲報告對優化結果的影響。梁廣泰等[7]挖掘受檢程序中的新缺陷模式并以“缺陷模式描述模板”半自動擴充原缺陷模式庫,擴充靜態測試工具NPD缺陷檢測能力,但未考慮到分析技術和規則挖掘技術對缺陷檢測的影響。楊睿等[8]結合空指針故障模型和控制流圖進行數據流分析,根據分析結果盡可能多地識別出那些可能不是缺陷的項來降低空指針故障誤報率,但忽略了區間運算和函數摘要的計算能力。

針對上述問題,張大林等[5]通過缺陷關聯分析分組靜態測試工具報告的缺陷,若組內主導NPD缺陷被證是誤報,其他NPD缺陷也是誤報,能有效降低缺陷確認負擔;但分組缺陷時缺陷關聯抽象域計算能力的不足,會導致關聯誤報。

因此,針對靜態測試中的假陽性NPD缺陷,本文研究采用基于粗糙集理論屬性重要性的ID3(ID3 Based Rough Set, RSID3)算法結合NPD缺陷知識進行NPD缺陷假陽性識別,挖掘靜態缺陷報告與軟件歷史倉庫中代碼修改中的NPD缺陷知識,預處理后生成NPD缺陷數據集,通過RSID3分類NPD缺陷實例,避免了分組缺陷時缺陷關聯的抽象域計算,根據分類結果識別假陽性NPD缺陷,以期快速確認真實NPD缺陷。

1 靜態測試NPD缺陷檢測技術

1.1 NPD靜態檢測

靜態測試不執行程序從語法或語義層面分析程序文本,推導其語法或語義性質進行潛在缺陷檢測,30%~ 70% 的代碼邏輯設計和編碼缺陷能通過靜態測試檢測并修復。基于缺陷模式的軟件測試技術[9]將代碼中已有缺陷總結成缺陷模式,在靜態測試過程中通過模式匹配算法判斷待測程序中是否存在匹配缺陷模式的代碼段,對受檢代碼進行缺陷檢測。

NPD缺陷在程序運行時發生,編譯階段無法發現,動態測試方法難以達到全面覆蓋的效果。若先進行空指針靜態檢測來查找程序中所有可能為空的對象,能彌補動態測試無法檢測程序中不確定執行路徑的NPD缺陷的不足。使用靜態測試方法檢測NPD缺陷是近年來NPD檢測方法研究的重點[8]。

1.2 基本概念

定義1 NPD缺陷假陽性。NPD缺陷檢測可轉為求解問題D={P,M,A}, 其中:p是待測程序;M是與P對應的NPD缺陷模式集;A={ρ(L,X),ψ,R}是NPD缺陷檢測算法,ρ是P執行到L處變量X取值信息,ψ是P執行到L處實時堆棧中被調方法摘要信息,R是P中所有可達路徑。通過靜態測試方法檢測NPD缺陷時,需分析p中所有可達路徑上出現的指針引用的相關指針在運行時的指向狀態,則NPD缺陷假陽性為:

?x,x∈{ρ(L,X)|R}∧~D={P,M,A} ?FP(X)

其中:~D={P,M,A}指變量X取值為x時不會引發NPD缺陷;FP(X)是X引發NPD缺陷的假陽性現象。

2 NPD缺陷分類假陽性識別方法

2.1 NPD缺陷數據集生成

如何利用已有缺陷知識確認程序潛在缺陷是靜態缺陷檢測的關鍵[10]。Zhang等[6]通過分析缺陷報告快速確認真實缺陷;Kim等[10]提出挖掘軟件修改歷史能快速識別出真正的缺陷代碼。所以,本文挖掘靜態缺陷報告與軟件代碼修改歷史中的NPD缺陷知識,基于NPD缺陷知識生成NPD缺陷數據集,對其分類后進行NPD缺陷假陽性識別。

靜態缺陷報告用元素標記描述數據,所有元素都有文本屬性和離散屬性,以開始標記和結束標記限定元素描述缺陷內容的范圍,解析包含NPD缺陷內容的元素屬性,提取屬性及屬性值作為缺陷報告中的NPD缺陷知識。分析軟件歷史倉庫中的版本控制系統,提取所有代碼修改,修改日志含有多條記錄,每條記錄包含修復NPD缺陷相關屬性,通過從修改日志匹配修復NPD缺陷的關鍵詞,能從所有代碼修改中識別出修復NPD缺陷的代碼修改,通過分析源程序中引發NPD缺陷的程序點L處第1次到第n-1次代碼修改歷史,從修復NPD缺陷的第n次代碼修改的修改日志中提取修復NPD缺陷記錄,提取上述記錄的屬性及屬性值作為軟件歷史中倉庫代碼修改中的NPD缺陷知識。

缺陷模式有助于快速識別程序中的缺陷,程序P對應M中的NPD缺陷模式[11]用有限狀態機表示為:

MNPD=〈S,T,C〉

(1)

其中:S={Sstart,Snot,Spossible,Snpddefect,Send}是可達狀態集;Sstart是始態;Snot是非空狀態;Spossible是可能為空狀態;Snpddefect是引發NPD缺陷時的狀態,與NPD缺陷模式有關;Send是末態;T={〈ni,nj〉|ni,nj∈S}是狀態遷移集,指從狀態ni遷移到狀態nj,T:S×C→S,C是遷移條件,引發NPD缺陷是指對象O從Sstart經一系列狀態遷移到達Snpddefect。

通過式(1)形式化描述特定模式的NPD缺陷,根據程序P中引發NPD缺陷的程序點L處指針的指向狀態,包括空、可能為空和非空三種,前兩種指向狀態與引發NPD缺陷有關。對每個被引用指針構造MNPD實例,MNPD實例狀態遷移如圖1所示,圖1中的NPD缺陷狀態遷移關系如表1所示。在MNPD上進行狀態遷移時需分析L處程序狀態信息ρ和ψ,根據引發NPD缺陷的對象O在MNPD上遷移過程得到NPD缺陷模式集:

圖1 NPD缺陷有限狀態機實例狀態遷移圖

如圖1所示,給定狀態集S={t1,t2,t3,t4,t5},t1至t5依次代表狀態Sstart、Snot、Spossible、Snpddefect、Send,通過表1 NPD缺陷狀態遷移集描述各NPD缺陷模式,其T和C結合上述程序狀態信息分析設定。

表1 NPD缺陷狀態遷移集

從表1可知,引發NPD缺陷的對象O到達Snpddefect的狀態遷移不同,識別各NPD缺陷模式下的NPD缺陷需要滿足的條件,即NPD缺陷引發條件DCNPD不同,根據表1中的T和C提取NPD缺陷模式集中各模式對應的DCNPD,則

DCNPD=(Vlocal=nullMay)‖(Vglobal=nullMay)‖

(FPfunction=nullMay)‖(APfunction=null)‖

(RVmethod=nullMay)

經上述預處理, 通過NPD缺陷模式提取NPD缺陷引發條件后, 對比NPD缺陷知識與NPD缺陷引發條件,確定一組包含NPD缺陷引發條件的屬性,即NPD缺陷關聯屬性組(type, priority, role, category, is-fixed, is-true),各屬性依次指定NPD缺陷引發原因、優先級、引發條件、類別、是否修復、真實性,其一組取值為一個NPD缺陷實例,一個NPD缺陷實例對應P在靜態測試中報告的某個NPD缺陷,累積P中所有NPD缺陷實例,以NPD缺陷關聯屬性和NPD缺陷實例為基本分量,構造描述NPD缺陷關聯屬性間關系的NPD缺陷數據集,作為RSID3算法的輸入。

2.2 基于粗糙集理論屬性重要性的ID3算法

提高ID3算法分類精度的關鍵在于劃分屬性的選擇。劃分NPD缺陷數據集時,很難根據經驗選擇當前NPD缺陷數據集的劃分屬性,且劃分屬性選擇存在多值偏向,本文提出的RSID3通過考慮屬性ai∈A對劃分屬性的重要性[12]來指導劃分屬性選擇。首先,調整當前劃分屬性Ak對當前屬性集A的依賴度k(A,Ak);然后,確定所有屬性ai∈A對Ak的重要性γ(A);最后,在尋找信息增益最大的屬性時,通過遍歷為T和A建立的索引數組,基于索引搜索A中信息增益最大的屬性作為當前劃分屬性,作用于RSID3算法輸入。信息增益方程為:

Gain(A)=I(s1,s2,…,sm)-

1)若k(A,Ak)=0時,則認為Ak完全不依賴于A;

2)若0lt;k(A,Ak)lt;1時,則認為Ak部分依賴于A;

3)若k(A,Ak)=1時,Ak完全依賴于A。

通過k(A,Ak)的調整方案自適應調整γ(ai),確定γ(A):

k(A,Ak)-k(A-{ai},Ak)

其中:R=C∪Ak。

2.3 實例分析

下面通過例子來進一步闡述RSID3算法的劃分屬性選擇過程和效果。下述程序片段展示了靜態測試工具在檢測Java開源項目Weka-3-6時報告的兩個NPD缺陷,分別為:第192行變量contents.length可能為空指針并在192行解引用;第193行contents[i]可能為空指針并在193行解引用。

190: public static void loadProperties() {

191: File[] contents= piuginDir.listFiles();

192: for(int i=0;ilt;contents.length;i++){

193: if(contents[i].isDirectory()amp;amp;contents[i].listFiles().

lengthgt;0){…

202: File anyJars[]=contents[i].listFiles();

228:…}}}

根據2.1節內容對示例代碼段的完整文件報告的所有NPD缺陷生成NPD缺陷數據集,如表2所示,以二維表格式展示。

從表2可知,屬性集A={a1,a2,a3,a4,a5},Card(T)=3,d為初始劃分屬性,則Ak=g0gggggg,從任意屬性a3開始, 首先計算d對A的依賴度,顯然0lt;k(A,d)=0.67lt;1,d部分依賴于A,其中,posA(d)={1,2};然后計算a3對d的重要性γ(a3,A,d)=0.33,即將a3從A中去除后被分類錯誤的概率。同理γ(a5)=0.26,γ(ai)值越大表示ai對A分類質量影響越大,應優先挑選,所以選擇劃分屬性時優先考慮a3。

2.4 NPD缺陷分類假陽性識別模型

NPD缺陷分類假陽性識別模型分為缺陷報告、NPD缺陷數據集生成和假陽性識別三個模塊,如圖2所示。

圖2中:缺陷報告模塊是模型基礎,用于生成靜態缺陷報告;NPD缺陷數據集生成是核心模塊,解析缺陷報告,挖掘解析后的缺陷報告與軟件歷史倉庫代碼修改中的NPD缺陷知識,預處理NPD缺陷知識,確定NPD缺陷關聯屬性組,結合其取值構造NPD缺陷數據集;假陽性識別模塊在模型中起橋梁作用,通過接收NPD缺陷數據集分類NPD缺陷實例,分類結果有真實NPD缺陷實例和假陽性NPD缺陷實例兩種,根據分類結果進行NPD缺陷假陽性識別,輸出真實NPD缺陷并評估NPD缺陷確認效率。

表2 NPD缺陷數據集

圖2 NPD缺陷分類假陽性識別模型

2.5 算法步驟

假設含有NPD缺陷程序P的NPD缺陷數據集為T,候選屬性集為A,NPD缺陷分類模型為Mtree,基于RSID3算法的NPD缺陷分類假陽性識別方法的步驟如下。

輸入 含有NPD缺陷程序P的NPD缺陷數據集T,候選屬性集A,即Generate_model(T,A)。

輸出 NPD缺陷分類模型Mtree。

步驟1 分別為T和A建立索引數組,利用式(2)計算A中所有屬性信息增益,創建初始節點N。

步驟2 通過索引數組遍歷T和A,如果T∈同類C,則返回N為葉子,標記為類C,轉步驟6。

步驟3 從任意Ai開始遍歷其索引數組,搜索當前信息增益最大的屬性索引,確定該索引指向的屬性為當前劃分屬性,記N為Ak,刪除該索引并更新索引數組。

步驟4 將T按Ak劃分, 對每個Ak的取值ai,由N長出分枝Ak=ai,在Ak處取值相同的實例歸為同一子集Si。

步驟5 如果Si=null,則轉步驟2;否則,對Si遞歸調用Generate_model(Si,A)生成Si上的決策樹,轉步驟3,自頂向下遞歸劃分。

步驟6 算法結束,輸出NPD缺陷分類模型Mtree。

3 實驗與分析

3.1 實驗設置

為驗證本文方法的有效性,選取10個典型的開源Java項目[8]為基準程序進行靜態NPD缺陷檢測對比實驗來驗證本文方法的有效性,其中后5個Java項目為MegaMek項目連續版本,上述開源項目文檔規范且得到持續維護,其相關信息如表3所示。

表3 基準程序相關信息

在實驗過程中,通過FindBugs-3.0.1工具生成靜態測試缺陷報告,ant_1.8.2工具獲取靜態測試缺陷報告,NPD缺陷數據集為.arff格式,所有程序均用Java語言編寫,使用jdk-1.7.0_06,Windows 7,計算機主頻為2.00 GHz,內存2 GB。

3.2 實驗結果

基于以上實驗設置,選擇基于目前代表性靜態測試工具FindBugs[3]的靜態NPD缺陷檢測方法和本文方法進行對比,在相同條件下對基準程序進行靜態NPD缺陷檢測,記錄不同方法的報告的總缺陷、耗時和NPD缺陷數,NPD缺陷假陽性降低率為通過本文方法識別出的假陽性NPD缺陷在FindBugs報告的全部NPD缺陷中的比例,是衡量靜態測試方法有效性的重要指標[8],實驗結果如表4所示。

表4 不同方法檢測NPD缺陷結果對比

對表4的10個基準程序進行缺陷檢測,FindBugs共報告1 909個缺陷,466個NPD缺陷,而本文方法共報告1 800個缺陷,357個NPD缺陷,在NPD缺陷分類假陽性識別過程中其假陽性降低率平均為25%,最高為35.5%,且在MegaMek連續版本中穩定在35%,通過本文方法減少NPD缺陷確認共109個,有效減少24%的NPD缺陷確認工作,假陽性NPD缺陷識別效果好,降低了缺陷確認開銷,提高了靜態NPD缺陷檢測效率。在表4中,以Weka-3-6為例,在不同項目中通過本文方法最高可以減少(32-24)/32×100%=25%的假陽性NPD缺陷;對于Jstock報告的NPD缺陷基數較小,NPD缺陷變化不大。對于MegaMek0.32.2,因其丟失其類信息造成部分源文件編譯不能通過,使生成的中間代碼不全導致其NPD缺陷假陽性降低率較低。通過表4求得兩種方法檢測時間標準差分別為32.70和22.19,檢測的NPD缺陷標準差分別為23.21和19.74,說明本文方法穩定性更好。

缺陷確認效率可以反映靜態測試方法的有效性,從降低的缺陷確認數量可以間接估計該測試方法缺陷確認效率[5],將NPD缺陷確認效率近似為除不需要再進行確認的NPD缺陷,其余缺陷占FindBugs報告的全部缺陷的比例,比較各方法對基準程序靜態測試后的NPD缺陷確認效率如圖3所示,本文方法在NPD缺陷確認效率方面優勢明顯且在MegaMek連續版本中NPD缺陷確認效率更穩定。

圖3 各方法檢測NPD缺陷在基準程序上的缺陷確認效率

所以,對于基準程序,本文提出的NPD分類假陽性識別方法在充分利用靜態缺陷報告與軟件歷史倉庫中代碼修改中的NPD缺陷知識的基礎上結合數據挖掘分類算法,以較小的代價更穩定地進行缺陷確認,提高了NPD缺陷檢測效率。

4 結語

在面向代碼缺陷的靜態測試NPD分類假陽性識別方法中,如何充分利用已有NPD缺陷知識快速確認真實NPD缺陷是提高NPD缺陷檢測效率的關鍵。本文提出了一種空指針引用缺陷分類假陽性識別方法,該方法通過對多個基準程序進行測試并與基于主流靜態測試工具FindBugs的NPD缺陷檢測方法進行比較,實驗結果表明,本文方法有效降低了靜態測試缺陷確認開銷,在NPD缺陷檢測效率和穩定性上都有明顯提高。

在NPD缺陷分類假陽性識別過程中,基于軟件靜態缺陷報告與軟件歷史倉庫代碼修改中的NPD缺陷知識結合RSID3算法在缺陷確認之前先進行NPD缺陷假陽性識別,雖在一定程度上提高了靜態NPD缺陷檢測效率和穩定性,使缺陷確認開銷降低,但對于實際中的復雜軟件,檢測軟件NPD缺陷和缺陷確認所需缺陷關聯知識的充分性仍需提高。

References)

[1] 陳翔, 顧慶, 劉望舒, 等.靜態軟件缺陷預測方法研究[J]. 軟件學報, 2016, 27(1): 1-25. (CHEN X, GU Q, LIU W S, et al. Survey of static software defect prediction [J]. Journal of Software, 2016, 27(1): 1-25.)

[2] 李舟軍, 張俊賢, 廖湘科, 等.軟件安全漏洞檢測技術[J]. 計算機學報, 2015, 38(4): 717-732. (LI Z J, ZHANG J X, LIAO X K, et al. Survey of software vulnerability detection techniques[J]. Chinese Journal of Computers, 2015, 38(4): 717-732.)

[3] 金大海, 宮云戰, 楊朝紅, 等.運行時異常對軟件靜態測試的影響研究[J]. 計算機學報, 2011, 34(6): 1090-1099. (JIN D H, GONG Y Z, YANG Z H, et al. Research on the effect of runtime exception in software static testing[J]. Chinese Journal of Computers, 2011, 34(6): 1090-1099.)

[4] DAS M, LERNER S, SEIGLE M. ESP: path-sensitive program verification in polynomial time[J]. ACM SIGPLAN Notices, 2002, 37(5): 57-68.

[5] 張大林, 金大海, 宮云戰, 等.基于缺陷關聯的靜態分析優化[J]. 軟件學報, 2014, 25(2): 386-399. (ZHANG D L, JIN D H, GONG Y Z, et al. Optimization static analysis based on defect correlations[J]. Journal of Software, 2014, 25(2): 386-399.)[6] ZHANG J, WANG X, HAO D, et al. A survey on bug-report analysis[J]. Science China Information Sciences, 2015, 58(2): 24-48.

[7] 梁廣泰, 孟娜, 李進輝, 等.一個可半自動化擴展的靜態代碼缺陷分析工具[J]. 計算機學報, 2011, 34(6): 1114-1125. (LIANG G T, MENG N, LI J H, et al. A semi-automatic extensible static defect analysis tool[J]. Chinese Journal of Computers, 2011, 34(6): 1114-1125.)

[8] 楊睿, 金大海, 宮云戰, 等.Java中空指針引用故障的靜態檢測方法[J]. 清華大學學報, 2011, 52 (增刊1): 1509-1514. (YANG R, JIN D H, GONG Y Z, et al. Static analysis method for detecting null pointer dereference in Java[J]. Journal of Tsinghua University, 2011, 52 (Supp1): 1509-1514.)

[9] QUINLAN D J, VUDUC R W, MISHERGHI G. Techniques for specifying bug pattern[C]// PADTAD 2007: Proceedings of the 2007 ACM Workshop on Parallel and Distributed Systems: Testing and Debugging. New York: ACM, 2007: 27-35.

[10] KIM S, WHITEHEAD E J, Jr, ZHANG Y, et al. Classifying software changes: clean or buggy?[J]. IEEE Transactions on Software Engineering, 2008, 34(2): 181-196.

[11] RUTER N, ALMAZAN C B, FOSTER J S. A comparison of bug finding tools for Java[C]// ISSRE 2004: Proceedings of the 15th International Symposium on Software Reliability Engineering. Piscataway, NJ: IEEE, 2004: 269-270.

[12] 韓松來, 張輝, 周華平, 等.決策樹算法中多值偏向問題的理論分析[C]// 2005全國自動化新技術學術交流會論文集. 南京: 中國金屬學會, 2005: 138-145. (HAN S L, ZHANG H, ZHOU H P, et al. Theoretical analysis for variety bias of decision tree algorithm[C]// Proceedings of the 2005 Chinese Symposium on New Technologies for Automation. Nanjing: Chinese Society of Metals, 2005: 138-145.)

[13] 朱顥東.ID3算法的改進和簡化[J]. 上海交通大學學報, 2010, 44(7): 883-891. (ZHU H D. Research on improvement and simplification of ID3 algorithm[J]. Journal of Shanghai Jiaotong University, 2010, 44(7): 883-891.)

Falsepositiverecognitionmethodbasedonclassificationfornullpointerdereferencedefects

WANG Shuyan*, QUAN Yafei, SUN Jiaze

(SchoolofComputerScienceamp;Technology,Xi’anUniversityofPostsandTelecommunications,Xi’anShaanxi710061,China)

Focusing on the false positive problem of null pointer dereference (NPD) defect in static testing, a new false positive recognition method for null pointer reference defect based on classification was proposed. The knowledge of NPD defect was mined and preprocessed to generate data set of the defects. Then the data set of NPD defects was classified via ID3 classification algorithm based on rough set theory, and there were two kinds of classification results, one was false positive null pointer reference defect instances, the other was real null pointer reference defect instances. The real NPD defects were confirmed according to the classification results of the defect instances by recognizing the false positive NPD defects. The method was tested on ten benchmark programs and compared to the NPD defect detection method based on the mainstream static testing tool FindBugs, the false positive rate was reduced by 25%, and the confirmation amount was reduced by 24% for NPD defects. The experimental result shows that the proposed method can effectively reduce defect confirmation overhead and improve the detection efficiency and stability for NPD defects in static testing.

static testing; Null Pointer Dereference (NPD) defect; false positive recognition; defect classification; defect confirmation

2017- 04- 28;

2017- 06- 05。

陜西省工業攻關項目(2016GY-089);陜西省教育廳自然科學基金資助項目(15JK1672)。

王曙燕(1964—),女,河南南陽人,教授,博士,CCF會員,主要研究方向:軟件測試、數據挖掘、智能信息處理; 權雅菲(1991—),女,陜西西安人,碩士研究生,主要研究方向:軟件設計與測試、數據挖掘; 孫家澤(1980—),男,河南南陽人,副教授,博士,CCF會員,主要研究方向:軟件測試、數據挖掘、智能信息處理。

1001- 9081(2017)10- 2968- 05

10.11772/j.issn.1001- 9081.2017.10.2968

TP311.5

A

This work is partially supported by the Industrial Research and Development Program of Shaanxi Province (2016GY-089), the Natural Science Foundation of the Ministry of Education of Shaanxi Province (15JK1672).

WANGShuyan, born in 1964, Ph. D., professor. Her research interests include software testing, data mining, intelligent information processing.

QUANYafei, born in 1991, M. S. candidate. Her research interests include software design and testing, data mining.

SUNJiaze, born in 1980, Ph. D., associate professor. His research interests include software testing, data mining, intelligent information processing.

猜你喜歡
程序報告分類
分類算一算
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
分類討論求坐標
數據分析中的分類討論
“程序猿”的生活什么樣
一圖看懂十九大報告
教你一招:數的分類
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
報告
南風窗(2016年26期)2016-12-24 21:48:09
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 奇米影视狠狠精品7777| 国产乱子伦精品视频| 色综合久久88| 超薄丝袜足j国产在线视频| 国产在线观看一区精品| 成人在线亚洲| 亚洲一区精品视频在线| 天堂在线www网亚洲| 国产在线专区| 亚洲AV无码久久精品色欲| 91欧美在线| 99热这里只有精品2| 114级毛片免费观看| 青草91视频免费观看| 国产噜噜噜视频在线观看 | 97久久精品人人| 九九热精品视频在线| 国产区精品高清在线观看| 91视频国产高清| 综合色亚洲| swag国产精品| 久久久久国产精品熟女影院| 无码免费视频| 午夜福利网址| 亚洲乱伦视频| 国产高清在线观看| 国产成人在线无码免费视频| 亚洲美女视频一区| 欧美日韩v| 国产成人精品亚洲日本对白优播| 国内精品小视频在线| 99久久婷婷国产综合精| 久久天天躁夜夜躁狠狠| 毛片免费观看视频| 欧美国产日韩另类| 成人国内精品久久久久影院| 国模在线视频一区二区三区| 国产激情在线视频| 精品亚洲麻豆1区2区3区| 中文字幕亚洲另类天堂| 日韩 欧美 小说 综合网 另类| 91成人在线观看视频| 国产成人亚洲综合a∨婷婷| 亚洲午夜福利在线| 亚洲综合经典在线一区二区| 国产成人综合久久精品尤物| 午夜视频在线观看免费网站| A级毛片无码久久精品免费| 国产一区三区二区中文在线| 国产区免费| 91最新精品视频发布页| 呦视频在线一区二区三区| 久久人搡人人玩人妻精品一| 99久久免费精品特色大片| 一区二区三区四区日韩| 中国毛片网| 欧美黄网站免费观看| 无码丝袜人妻| 2022国产91精品久久久久久| 国产极品美女在线观看| 福利在线不卡| 久久人搡人人玩人妻精品| 午夜国产精品视频| 色综合天天视频在线观看| 91麻豆精品视频| 最新国产你懂的在线网址| 国产男女免费视频| 蜜臀AVWWW国产天堂| 无码国产伊人| 人妻91无码色偷偷色噜噜噜| 欧美一级夜夜爽| 久久国产成人精品国产成人亚洲| 天天色综合4| 欧美成人国产| 欧美日韩久久综合| 色网站免费在线观看| 亚洲二区视频| 亚洲人在线| 亚洲an第二区国产精品| 亚洲资源在线视频| 五月天天天色| 天天摸夜夜操|