[發(fā)明專利]一種基于抽象解釋技術(shù)的缺陷警報分組方法及裝置無效
| 申請?zhí)枺?/td> | 201310687844.3 | 申請日: | 2013-12-13 |
| 公開(公告)號: | CN103678128A | 公開(公告)日: | 2014-03-26 |
| 發(fā)明(設(shè)計)人: | 金大海;宮云戰(zhàn);黃俊飛;王雅文;張大林 | 申請(專利權(quán))人: | 北京郵電大學(xué) |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京派特恩知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11270 | 代理人: | 張振偉;王黎延 |
| 地址: | 100876 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 抽象 解釋 技術(shù) 缺陷 警報 分組 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)軟件測試技術(shù),具體涉及一種基于抽象解釋技術(shù)的缺陷警報分組方法及裝置。
背景技術(shù)
缺陷檢測一般包括靜態(tài)缺陷檢測和人工審查兩個階段。靜態(tài)缺陷檢測工具能夠檢測軟件存在的缺陷,并報告相應(yīng)的缺陷警報。針對靜態(tài)缺陷檢測工具所輸出的缺陷警報報告,開發(fā)人員需要通過人工審查來逐一判斷這一缺陷警報是否屬實(shí),或者這一缺陷警報是否足夠重要以便需要開發(fā)人員修復(fù)。
大量的缺陷警報輸出,尤其是警報中的誤報以及不重要的警報所占的比例過多,就必然會導(dǎo)致開發(fā)人員耗費(fèi)大量的精力去審查缺陷警報報告,進(jìn)而降低了缺陷檢測工具的可用性。通常情況下開發(fā)人員有責(zé)任對缺陷警報進(jìn)行評估以判定該警報是否中肯。然而,處理這些缺陷警報的速度通常并不是很高,根據(jù)國內(nèi)多個行業(yè)的大型系統(tǒng)的測試經(jīng)驗,一般每人每小時處理的缺陷警報在15至30個之間。如果一個靜態(tài)缺陷檢測工具針對某一軟件代碼報告了6000個缺陷警報,每一個缺陷警報需要1.5分鐘的人工時間來審查,那么一個開發(fā)人員需要連續(xù)工作18.75天才能全部審查完畢(每天8小時工作),如此耗費(fèi)了大量的時間和精力。
發(fā)明內(nèi)容
為解決現(xiàn)有存在的技術(shù)問題,本發(fā)明實(shí)施例提供一種基于抽象解釋技術(shù)的缺陷警報分組方法及裝置,能夠減少部分缺陷警報的識別工作,提高測試工作效率。
為達(dá)到上述目的,本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
本發(fā)明實(shí)施例提供了一種基于抽象解釋技術(shù)的缺陷警報分組方法,所述方法包括:
獲取函數(shù)控制流圖上節(jié)點(diǎn)的抽象語義,并獲取函數(shù)控制流圖上所述節(jié)點(diǎn)的求精的抽象語義;
當(dāng)在所述節(jié)點(diǎn)上報告一個以上缺陷警報時,依據(jù)所述缺陷警報間的抽象依賴關(guān)系,對所述缺陷警報進(jìn)行分組;
其中,所述缺陷警報間的抽象依賴關(guān)系為:當(dāng)缺陷警報具體依賴于缺陷警報時,當(dāng)所述缺陷警報在對應(yīng)的抽象語義下被報告,而在對應(yīng)的求精的抽象語義下沒有被報告時,則確定所述缺陷警報抽象依賴于所述缺陷警報
其中,所述缺陷警報具體依賴缺陷警報為:當(dāng)且僅當(dāng)缺陷警報不發(fā)生總能得出缺陷警報不發(fā)生,則確定所述缺陷警報具體依賴于所述缺陷警報
上述方案中,所述獲取函數(shù)控制流圖上所述節(jié)點(diǎn)及所述節(jié)點(diǎn)的前驅(qū)節(jié)點(diǎn)的求精的抽象語義,包括:
當(dāng)報告一個缺陷警報時,在所述缺陷警報所在節(jié)點(diǎn)上切除所述節(jié)點(diǎn)的錯誤狀態(tài),獲得所述節(jié)點(diǎn)的狀態(tài)切片;
將所述節(jié)點(diǎn)的狀態(tài)切片作為所述抽象語義的外部約束信息,獲得所述節(jié)點(diǎn)的求精的抽象語義。
上述方案中,所述在所述缺陷警報所在節(jié)點(diǎn)上切除所述節(jié)點(diǎn)的錯誤狀態(tài),獲得所述節(jié)點(diǎn)的狀態(tài)切片,包括:
當(dāng)程序P的節(jié)點(diǎn)l上報告一個缺陷時,在所述節(jié)點(diǎn)l上切除所述缺陷對應(yīng)的錯誤狀態(tài)后的狀態(tài)切片表示為:
其中,為所述缺陷所對應(yīng)的具體錯誤狀態(tài);表示錯誤狀態(tài)的切除操作;為程序P的節(jié)點(diǎn)l的具體語義;
獲得所述節(jié)點(diǎn)的狀態(tài)切片,所述狀態(tài)切片的抽象語義表示為
其中,為缺陷所對應(yīng)的可靠的抽象錯誤狀態(tài);表示可靠的抽象的錯誤狀態(tài)的切除操作;為抽象域下所述程序P的抽象語義。
上述方案中,所述將所述節(jié)點(diǎn)的狀態(tài)切片作為所述抽象語義的外部約束信息,獲得所述節(jié)點(diǎn)的求精的抽象語義,包括:
當(dāng)輸入的程序點(diǎn)集合Lin為:Lin={l∈L|l:input(xl)}時,確定輸入函數(shù)δ表示為:
其中,L表示所有程序點(diǎn)集合;xl表示在程序點(diǎn)l處的變量x;為程序變量集合;表示所有變量的取值集合;
將缺陷警報所在的程序點(diǎn)的狀態(tài)切片作為程序抽象語義的外部約束信息,替換原有程序錯誤狀態(tài),則所述輸入的節(jié)點(diǎn)集合Lin為:其中,為所有缺陷警報發(fā)生節(jié)點(diǎn);
則缺陷蹤跡的求精語義表示為:
其中,l表示程序點(diǎn);表示l點(diǎn)的錯誤狀態(tài)切片;表示變量集合下的具體語義函數(shù);∩表示求精操作;
當(dāng)是對的可靠抽象時,所述和滿足如下表達(dá)式:
其中,為切除錯誤狀態(tài)后的狀態(tài)切片;表示在狀態(tài)切片中變量x的取值;表示切除錯誤狀態(tài)后的狀態(tài)切片滿足映射函數(shù)δ;表示程序點(diǎn)l的錯誤狀態(tài)切片;是對的可靠抽象;表示下的具體語義函數(shù);則表明語義可靠性;
所述缺陷蹤跡的求精語義的抽象語義表示為:
其中,是對的可靠抽象,即
其中,表示最小不動點(diǎn)語義;表示錯誤點(diǎn)的抽象值;表示抽象交運(yùn)算。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京郵電大學(xué),未經(jīng)北京郵電大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310687844.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種高含量蘇云金桿菌干懸浮劑的制備方法
- 下一篇:多層注射成型體
- 防止技術(shù)開啟的鎖具新技術(shù)
- 技術(shù)評價裝置、技術(shù)評價程序、技術(shù)評價方法
- 防止技術(shù)開啟的鎖具新技術(shù)
- 視聽模擬技術(shù)(VAS技術(shù))
- 用于技術(shù)縮放的MRAM集成技術(shù)
- 用于監(jiān)測技術(shù)設(shè)備的方法和用戶接口、以及計算機(jī)可讀存儲介質(zhì)
- 用于監(jiān)測技術(shù)設(shè)備的技術(shù)
- 技術(shù)偵查方法及技術(shù)偵查系統(tǒng)
- 使用投影技術(shù)增強(qiáng)睡眠技術(shù)
- 基于技術(shù)庫的技術(shù)推薦方法





