[發(fā)明專利]一種故障確認(rèn)方法及其系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201410564479.1 | 申請(qǐng)日: | 2014-10-21 |
| 公開(公告)號(hào): | CN104360938B | 公開(公告)日: | 2017-10-20 |
| 發(fā)明(設(shè)計(jì))人: | 金大海;甄濤;宮云戰(zhàn);王雅文;黃俊飛 | 申請(qǐng)(專利權(quán))人: | 北京郵電大學(xué) |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京路浩知識(shí)產(chǎn)權(quán)代理有限公司11002 | 代理人: | 李相雨 |
| 地址: | 100876 *** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 故障 確認(rèn) 方法 及其 系統(tǒng) | ||
1.一種故障確認(rèn)方法,其特征在于,所述方法包括:
S1、利用預(yù)設(shè)故障模式,在靜態(tài)分析過程中匹配出疑似故障點(diǎn),對(duì)所述疑似故障點(diǎn)進(jìn)行篩選后標(biāo)注在被測(cè)程序的控制流圖中;
S2、在所述疑似故障點(diǎn)添加故障觸發(fā)條件,形成故障節(jié)點(diǎn),構(gòu)造故障路徑,并將新生成的故障節(jié)點(diǎn)添加到所述控制流圖中;
S3、通過預(yù)設(shè)的路徑選擇策略,計(jì)算每個(gè)疑似故障點(diǎn)分別在每個(gè)節(jié)點(diǎn)的權(quán)重;所述疑似故障點(diǎn)在節(jié)點(diǎn)的權(quán)重為從程序入口到該疑似故障點(diǎn)的經(jīng)過該節(jié)點(diǎn)的最短路徑的數(shù)量;
S4、遍歷控制流圖,根據(jù)每個(gè)疑似故障點(diǎn)在當(dāng)前節(jié)點(diǎn)的權(quán)重選擇故障路徑,并對(duì)選擇的故障路徑的每個(gè)節(jié)點(diǎn)通過提取約束來指導(dǎo)動(dòng)態(tài)執(zhí)行,對(duì)每個(gè)疑似故障點(diǎn)進(jìn)行確認(rèn)。
2.根據(jù)權(quán)利要求1所述的故障確認(rèn)方法,其特征在于,所述步驟S1具體包括:
S11、將所述被測(cè)程序的源代碼轉(zhuǎn)化成中間代碼,通過所述故障模式靜態(tài)地分析中間代碼,收集疑似故障點(diǎn),然后利用代碼動(dòng)態(tài)插樁技術(shù),對(duì)所述疑似故障點(diǎn)的關(guān)鍵代碼進(jìn)行插樁;
S12、利用靜態(tài)分析技術(shù)構(gòu)建控制流圖,通過排除不可達(dá)路徑和不可達(dá)節(jié)點(diǎn),得出疑似故障點(diǎn)的可達(dá)路徑集合。
3.根據(jù)權(quán)利要求2所述的故障確認(rèn)方法,其特征在于,所述步驟S2具體包括:
S21、在所述疑似故障點(diǎn)的語句之前添加約束判斷語句,以在所述控制流圖上添加一個(gè)節(jié)點(diǎn);
S22、將所添加的節(jié)點(diǎn)的約束條件作為故障觸發(fā)條件,形成故障節(jié)點(diǎn),構(gòu)建所述故障節(jié)點(diǎn)的故障路徑,并在所述控制流圖上標(biāo)記。
4.根據(jù)權(quán)利要求1所述的故障確認(rèn)方法,其特征在于,所述步驟S4具體包括:
S41、以預(yù)設(shè)值作為輸入,從程序入口執(zhí)行所述被測(cè)程序;
S42,當(dāng)執(zhí)行到節(jié)點(diǎn)時(shí),根據(jù)當(dāng)前節(jié)點(diǎn)的每個(gè)疑似故障點(diǎn)的權(quán)重,選擇權(quán)重最高的疑似故障點(diǎn)的路徑進(jìn)行遍歷,并從選擇的當(dāng)前路徑的分支語句的中搜集所有符號(hào)約束,并繼續(xù)向滿足約束的分支執(zhí)行;
S43,當(dāng)選擇的分支路徑不可達(dá)時(shí),利用符號(hào)執(zhí)行技術(shù)對(duì)約束進(jìn)行修改,構(gòu)造出一條新的可行的路徑約束,并求解出一個(gè)可行的新的具體輸入,繼續(xù)執(zhí)行程序;
S44,當(dāng)所選擇的疑似故障點(diǎn)的所有路徑都不可達(dá)時(shí),則判定該疑似故障點(diǎn)處沒有故障,執(zhí)行步驟S46,否則執(zhí)行下一步;
S45,當(dāng)覆蓋到選擇的疑似故障點(diǎn)后,判斷是否還有未覆蓋的疑似故障點(diǎn),是,則執(zhí)行下一步,否則結(jié)束;
S46,排除覆蓋的疑似故障點(diǎn),并去掉與剩下的疑似故障點(diǎn)無關(guān)的節(jié)點(diǎn),返回到步驟S41。
5.一種故障確認(rèn)系統(tǒng),其特征在于,所述系統(tǒng)包括:
故障定位模塊,用于利用預(yù)設(shè)故障模式,在靜態(tài)分析過程中匹配出故障位置,并標(biāo)注在被測(cè)程序的控制流圖中;
故障路徑生成模塊,用于在所述故障位置添加故障觸發(fā)條件,形成故障節(jié)點(diǎn),構(gòu)造故障路徑,并將新生成的故障節(jié)點(diǎn)添加到所述控制流圖中;
權(quán)重計(jì)算模塊,用于通過預(yù)設(shè)的路徑選擇策略,計(jì)算每個(gè)疑似故障點(diǎn)分別在每個(gè)節(jié)點(diǎn)的權(quán)重;所述疑似故障點(diǎn)在節(jié)點(diǎn)的權(quán)重為從程序入口到該疑似故障點(diǎn)的經(jīng)過該節(jié)點(diǎn)的最短路徑的數(shù)量;
路徑執(zhí)行模塊,用于根據(jù)每個(gè)疑似故障點(diǎn)在當(dāng)前節(jié)點(diǎn)的權(quán)重選擇故障路徑,并對(duì)選擇的故障路徑的每個(gè)節(jié)點(diǎn)通過提取約束來指導(dǎo)動(dòng)態(tài)執(zhí)行,對(duì)每個(gè)疑似故障點(diǎn)進(jìn)行確認(rèn)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京郵電大學(xué),未經(jīng)北京郵電大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410564479.1/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 故障檢測(cè)裝置、故障檢測(cè)方法以及故障檢測(cè)程序
- 故障預(yù)測(cè)裝置、故障預(yù)測(cè)方法及故障預(yù)測(cè)程序
- 故障分析裝置、故障分析系統(tǒng)及故障分析方法
- 故障檢測(cè)方法、故障檢測(cè)裝置和故障檢測(cè)系統(tǒng)
- 故障檢測(cè)裝置、故障檢測(cè)方法及計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)
- 故障檢測(cè)裝置、故障檢測(cè)方法和計(jì)算機(jī)能讀取的存儲(chǔ)介質(zhì)
- 故障檢測(cè)裝置、故障檢測(cè)系統(tǒng)、故障檢測(cè)方法
- 故障處理方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 故障排除方法、故障排除裝置及故障排除系統(tǒng)
- 故障檢測(cè)電路、故障檢測(cè)系統(tǒng)及故障檢測(cè)方法
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





