亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于抽象解釋技術(shù)的缺陷警報分組方法及裝置制造方法

文檔序號:6523823閱讀:196來源:國知局
一種基于抽象解釋技術(shù)的缺陷警報分組方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種基于抽象解釋技術(shù)的缺陷警報分組方法,所述方法包括:獲取函數(shù)控制流圖上節(jié)點的抽象語義,并獲取函數(shù)控制流圖上所述節(jié)點的求精的抽象語義;當在所述節(jié)點上報告一個以上缺陷警報時,依據(jù)所述缺陷警報間的抽象依賴關(guān)系,對所述缺陷警報進行分組。本發(fā)明同時還公開了一種基于抽象解釋技術(shù)的缺陷警報分組裝置。采用本發(fā)明的技術(shù)方案,大大減少了部分缺陷警報的識別工作,提高了測試工作效率。
【專利說明】一種基于抽象解釋技術(shù)的缺陷警報分組方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機軟件測試技術(shù),具體涉及一種基于抽象解釋技術(shù)的缺陷警報分組方法及裝置。
【背景技術(shù)】
[0002]缺陷檢測一般包括靜態(tài)缺陷檢測和人工審查兩個階段。靜態(tài)缺陷檢測工具能夠檢測軟件存在的缺陷,并報告相應的缺陷警報。針對靜態(tài)缺陷檢測工具所輸出的缺陷警報報告,開發(fā)人員需要通過人工審查來逐一判斷這一缺陷警報是否屬實,或者這一缺陷警報是否足夠重要以便需要開發(fā)人員修復。
[0003]大量的缺陷警報輸出,尤其是警報中的誤報以及不重要的警報所占的比例過多,就必然會導致開發(fā)人員耗費大量的精力去審查缺陷警報報告,進而降低了缺陷檢測工具的可用性。通常情況下開發(fā)人員有責任對缺陷警報進行評估以判定該警報是否中肯。然而,處理這些缺陷警報的速度通常并不是很高,根據(jù)國內(nèi)多個行業(yè)的大型系統(tǒng)的測試經(jīng)驗,一般每人每小時處理的缺陷警報在15至30個之間。如果一個靜態(tài)缺陷檢測工具針對某一軟件代碼報告了 6000個缺陷警報,每一個缺陷警報需要1.5分鐘的人工時間來審查,那么一個開發(fā)人員需要連續(xù)工作18.75天才能全部審查完畢(每天8小時工作),如此耗費了大量的時間和精力。

【發(fā)明內(nèi)容】

[0004]為解決現(xiàn)有存在的技術(shù)問題,本發(fā)明實施例提供一種基于抽象解釋技術(shù)的缺陷警報分組方法及裝置,能夠減少部分缺陷警報的識別工作,提高測試工作效率。
[0005]為達到上述目的,本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:
[0006]本發(fā)明實施例提供了一種基于抽象解釋技術(shù)的缺陷警報分組方法,所述方法包括:
[0007]獲取函數(shù)控制流圖上節(jié)點的抽象語義,并獲取函數(shù)控制流圖上所述節(jié)點的求精的抽象語義;
[0008]當在所述節(jié)點上報告一個以上缺陷警報時,依據(jù)所述缺陷警報間的抽象依賴關(guān)系,對所述缺陷警報進行分組;
[0009]其中,所述缺陷警報間的抽象依賴關(guān)系為:當缺陷警報朽具體依賴于缺陷警報爐時,當所述缺陷警報灼在對應的抽象語義下被報告,而在對應的求精的抽象語義下沒有被報告時,則確定所述缺陷警報朽抽象依賴于所述缺陷警報<Pm ;
[0010]其中,所述缺陷警報具體依賴缺陷警報P為:當且僅當缺陷警報K不發(fā)生總能得出缺陷警報朽不發(fā)生,則確定所述缺陷警報P具體依賴于所述缺陷警報仏。
[0011]上述方案中,所述獲取函數(shù)控制流圖上所述節(jié)點及所述節(jié)點的前驅(qū)節(jié)點的求精的抽象語義,包括:[0012]當報告一個缺陷警報時,在所述缺陷警報所在節(jié)點上切除所述節(jié)點的錯誤狀態(tài),獲得所述節(jié)點的狀態(tài)切片;
[0013]將所述節(jié)點的狀態(tài)切片作為所述抽象語義的外部約束信息,獲得所述節(jié)點的求精的抽象語義。
[0014]上述方案中,所述在所述缺陷警報所在節(jié)點上切除所述節(jié)點的錯誤狀態(tài),獲得所述節(jié)點的狀態(tài)切片,包括:
[0015]當程序P的節(jié)點I上報告一個缺陷奶時,在所述節(jié)點I上切除所述缺陷灼對應的錯誤狀態(tài)后的狀態(tài)切片表 為'
【權(quán)利要求】
1.一種基于抽象解釋技術(shù)的缺陷警報分組方法,其特征在于,所述方法包括: 獲取函數(shù)控制流圖上節(jié)點的抽象語義,并獲取函數(shù)控制流圖上所述節(jié)點的求精的抽象語義; 當在所述節(jié)點上報告一個以上缺陷警報時,依據(jù)所述缺陷警報間的抽象依賴關(guān)系,對所述缺陷警報進行分組; 其中,所述缺陷警報間的抽象依賴關(guān)系為:當缺陷警報灼具體依賴于缺陷警報時,當所述缺陷警報死在對應的抽象語義下被報告,而在對應的求精的抽象語義下沒有被報告時,則確定所述缺陷警報死抽象依賴于所述缺陷警報(P 其中,所述缺陷警報氕具體依賴缺陷警報隊為:當且僅當缺陷警報P不發(fā)生總能得出缺陷警報死不發(fā)生,則確定所述缺陷警報代具體依賴于所述缺陷警報^。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取函數(shù)控制流圖上所述節(jié)點及所述節(jié)點的前驅(qū)節(jié)點的求精的抽象語義,包括: 當報告一個缺陷警報時,在所述缺陷警報所在節(jié)點上切除所述節(jié)點的錯誤狀態(tài),獲得所述節(jié)點的狀態(tài)切片; 將所述節(jié)點的狀態(tài)切片作為所述抽象語義的外部約束信息,獲得所述節(jié)點的求精的抽象語義。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在所述缺陷警報所在節(jié)點上切除所述節(jié)點的錯誤狀態(tài),獲得所述節(jié)點的狀態(tài)切片,包括: 當程序P的節(jié)點I上報告一個缺陷約時,在所述節(jié)點I上切除所述缺陷約對應的錯誤狀態(tài)后的狀態(tài)切片表示為=Τ(Ι)::η(φ,): 其中,Ω為所述缺陷扔所對應的具體錯誤狀態(tài);Θ表示錯誤狀態(tài)的切除操作;f(0為程序P的節(jié)點I的具體語義; 獲得所述節(jié)點的狀態(tài)切片,所述狀態(tài)切片巧,的抽象語義表示為 其中,〃(Ω(的))為缺陷約所對應的可靠的抽象錯誤狀態(tài);§.表示可靠的抽象的錯誤狀態(tài)的切除操作;fl/)力抽象域下所述程序P的抽象語義。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述節(jié)點的狀態(tài)切片作為所述抽象語義的外部約束信息,獲得所述節(jié)點的求精的抽象語義,包括: 當輸入的程序點集合Lin為:Lin={l e L| 1:1nput (X1)}時,確定輸入函數(shù)δ表示為:SiL^P(Y); 其中,L表示所有程序點集合;Xl表示在程序點I處的變量X ; ¥為程序變量集合;pm表示所有變量的取值集合; 將缺陷警報所在的程序點的狀態(tài)切片作為程序抽象語義的外部約束信息,替換原有程序錯誤狀態(tài),則所述輸入的節(jié)點集合Lin為:Lw ={/e L,;其中,卜為所有缺陷警報發(fā)生節(jié)點; 則缺陷蹤跡的求精語義&表示為:τψι =TpiOm^(O); 其中,I表示程序點;4(/)表示I點的錯誤狀態(tài)切片;~表示變量集合V下的具體語義函數(shù); y表示求精操作; 當茍(/)是對&(7)的可靠抽象時,所述蹲(/)和今(O滿足如下表達式:{ρφ:\ρφω^δΤ(1)}^y(?^-{1)): 其中,Pn為切除錯誤狀態(tài)后的狀態(tài)切片;AM、表示在狀態(tài)切片中變量X的取值; (X)e &(/);[表示切除錯誤狀態(tài)后的狀態(tài)切片滿足映射函數(shù)δ ;&(/)表示程序點I的錯誤狀態(tài)切片;禮(O是對今(O的可靠抽象;7(茍(/))表示茍(O下的具體語義函數(shù);£則表明語義可靠性; 所述缺陷蹤跡^的求精語義^的抽象語義表示為咬; 其中,是對的可靠抽象,即[£ rdfpf門咬).其中,Ifp^F1表示最小不動點語義表示錯誤點的抽象值;π表示抽象交運算。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取函數(shù)控制流圖上節(jié)點的抽象語義,并獲取函數(shù)控制流圖上所述節(jié)點及所述節(jié)點的前驅(qū)節(jié)點的求精的抽象語義之后,所述方法還包括: 更新所有程序的求精的抽象狀態(tài),具體包括:將獲取的每一個求精的抽象語義分別賦給對應節(jié)點的抽象語義,更新所有的求精的抽象狀態(tài); 將所述節(jié)點的抽象語義分別賦給對應節(jié)點的程序抽象狀態(tài),恢復原有函數(shù)抽象狀態(tài)取值。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 根據(jù)當前缺陷警報的依賴關(guān)系,當確定所述缺陷警報為誤報時,確定所述另一個缺陷警報也為誤報; 當確定所述缺陷警報為真實時,確定所述另一個缺陷警報也為真實。
7.一種基于抽象解釋技術(shù)的缺陷警報分組裝置,其特征在于,所述裝置包括:獲取單元和分組單元;其中, 所述獲取單元,用于獲取函數(shù)控制流圖上節(jié)點的抽象語義,并獲取函數(shù)控制流圖上所述節(jié)點的求精的抽象語義; 所述分組單元,用于當在所述節(jié)點上報告一個以上缺陷警報時,依據(jù)所述缺陷警報間的抽象依賴關(guān)系,對所述缺陷警報進行分組; 其中,所述缺陷警報間的抽象依賴關(guān)系為:當缺陷警報代具體依賴于缺陷警報P時,當所述缺陷警報朽在對應的抽象語義下被報告,而在對應的求精的抽象語義下沒有被報告時,則確定所述缺陷警報φη抽象依賴于所述缺陷警報<pm;其中,所述缺陷警報代具體依賴缺陷警報K為:當且僅當缺陷警報^不發(fā)生總能得出缺陷警報朽不發(fā)生,則確定所述缺陷警報私具體依賴于所述缺陷警報氕。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括狀態(tài)切片單元,用于當報告一個缺陷警報時,在所述缺陷警報所在節(jié)點上切除所述節(jié)點的錯誤狀態(tài),獲得所述節(jié)點的狀態(tài)切片;將所述節(jié)點的狀態(tài)切片作為所述抽象語義的外部約束信息,獲得所述節(jié)點的求精的抽象語義。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述狀態(tài)切片單元,具體用于當程序P的節(jié)點I上報告一個缺陷約時,切除所述缺陷約所對應的錯誤狀態(tài)后的狀態(tài)切片表示為:
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述狀態(tài)切片單元,具體還用于當輸入的節(jié)點集合Lin為:
11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括更新單元,用于更新所有程序的求精的抽象狀態(tài),具體包括:將獲取的每一個求精的抽象語義分別賦給對應節(jié)點的抽象語義,更新所有的求精的抽象狀態(tài);將所述節(jié)點的抽象語義分別賦給對應節(jié)點的程序抽象狀態(tài),恢復原有函數(shù)抽象狀態(tài)取值。
12.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括確定單元,用于根據(jù)當前缺陷警報的依賴關(guān)系,當確定所述缺陷警報為誤報時,確定所述另一個缺陷警報也為誤報;當確定所述缺陷警報為真實時,確定所述另一個缺陷警報也為真實。
【文檔編號】G06F11/36GK103678128SQ201310687844
【公開日】2014年3月26日 申請日期:2013年12月13日 優(yōu)先權(quán)日:2013年12月13日
【發(fā)明者】金大海, 宮云戰(zhàn), 黃俊飛, 王雅文, 張大林 申請人:北京郵電大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1