[發(fā)明專利]一種基于貝葉斯網(wǎng)絡(luò)推理的軟件錯(cuò)誤分層診斷方法有效
| 申請(qǐng)?zhí)枺?/td> | 201710048225.8 | 申請(qǐng)日: | 2017-01-20 |
| 公開(公告)號(hào): | CN107025169B | 公開(公告)日: | 2020-08-21 |
| 發(fā)明(設(shè)計(jì))人: | 余嘯;劉進(jìn);殷曉飛;崔曉輝;施澤洋;井溢洋 | 申請(qǐng)(專利權(quán))人: | 武漢大學(xué) |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 武漢科皓知識(shí)產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 42222 | 代理人: | 魯力 |
| 地址: | 430072 湖*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 貝葉斯 網(wǎng)絡(luò) 推理 軟件 錯(cuò)誤 分層 診斷 方法 | ||
1.一種基于貝葉斯網(wǎng)絡(luò)推理的軟件錯(cuò)誤分層診斷方法,其特征在于,包括以下步驟:
步驟1,以函數(shù)為代碼元素,構(gòu)建函數(shù)層貝葉斯網(wǎng)絡(luò)程序依賴圖,BNPDG是表示代碼元素依賴關(guān)系的貝葉斯網(wǎng)絡(luò)模型;函數(shù)層BNPDG表示為一個(gè)三元組(V,E,P);V代表節(jié)點(diǎn)集合,每個(gè)節(jié)點(diǎn)代表一個(gè)代碼元素,即一個(gè)自定義函數(shù);函數(shù)節(jié)點(diǎn),有其對(duì)應(yīng)的狀態(tài)空間,不同狀態(tài)值代表該代碼元素不同的執(zhí)行過程;E代表有向邊的集合,每條有向邊都代表代碼元素之間的依賴關(guān)系,所述依賴關(guān)系是語義依賴,或者是通過測試數(shù)據(jù)得到的統(tǒng)計(jì)依賴;其中語義依賴包括控制依賴和數(shù)據(jù)依賴;P代表網(wǎng)絡(luò)參數(shù),即每個(gè)節(jié)點(diǎn)的條件概率分布;構(gòu)建函數(shù)層BNPDG包括以下子步驟,
步驟1.1,將要測試的程序代碼生成程序依賴圖,確定函數(shù)層BNPDG語義依賴關(guān)系;
步驟1.2,利用程序執(zhí)行數(shù)據(jù)生成統(tǒng)計(jì)依賴關(guān)系圖,確定函數(shù)層BNPDG統(tǒng)計(jì)依賴關(guān)系;
步驟1.3,融合控制依賴邊、數(shù)據(jù)依賴邊和統(tǒng)計(jì)依賴邊,形成基于貝葉斯網(wǎng)絡(luò)的程序依賴圖初始結(jié)構(gòu);
步驟1.4,去掉基于貝葉斯網(wǎng)絡(luò)的程序依賴圖初始結(jié)構(gòu)中的環(huán)路;
步驟1.5,學(xué)習(xí)基于貝葉斯網(wǎng)絡(luò)的程序依賴圖中的參數(shù)信息;
步驟2,在函數(shù)層貝葉斯網(wǎng)絡(luò)程序依賴圖上進(jìn)行測試預(yù)言的概率推理,判斷某個(gè)測試用例對(duì)整個(gè)程序來說是否為失敗的測試用例;當(dāng)確定某測試用例為失敗測試用例以后,在函數(shù)層貝葉斯網(wǎng)絡(luò)程序依賴圖上進(jìn)行錯(cuò)誤定位的概率推理,計(jì)算代碼元素的可疑度并排序,得到按照可疑度排序的函數(shù)序列;
步驟3,按照函數(shù)的可疑度排序,以每一個(gè)函數(shù)內(nèi)的語句為代碼元素,構(gòu)建對(duì)應(yīng)函數(shù)的語句層貝葉斯網(wǎng)絡(luò)程序依賴圖;語句層BNPDG表示為一個(gè)三元組(V′,E′,P′);V′代表節(jié)點(diǎn)集合,每個(gè)節(jié)點(diǎn)代表一個(gè)代碼元素,即一條程序語句;語句節(jié)點(diǎn),有其對(duì)應(yīng)的狀態(tài)空間,不同狀態(tài)值代表該代碼元素不同的執(zhí)行過程;E′代表有向邊的集合,每條有向邊都代表代碼元素之間的依賴關(guān)系,所述依賴關(guān)系是語義依賴,或者是通過測試數(shù)據(jù)得到的統(tǒng)計(jì)依賴;其中語義依賴包括控制依賴和數(shù)據(jù)依賴;P′代表網(wǎng)絡(luò)參數(shù),即每個(gè)節(jié)點(diǎn)的條件概率分布;構(gòu)建語句層BNPDG包括以下子步驟,
步驟3.1,將要測試的程序代碼生成程序依賴圖,確定語句層BNPDG語義依賴關(guān)系;
步驟3.2,利用程序執(zhí)行數(shù)據(jù)生成統(tǒng)計(jì)依賴關(guān)系圖,確定語句層BNPDG統(tǒng)計(jì)依賴關(guān)系;
步驟3.3,融合控制依賴邊、數(shù)據(jù)依賴邊和統(tǒng)計(jì)依賴邊,形成基于貝葉斯網(wǎng)絡(luò)的程序依賴圖初始結(jié)構(gòu);
步驟3.4,去掉基于貝葉斯網(wǎng)絡(luò)的程序依賴圖初始結(jié)構(gòu)中的環(huán)路;
步驟3.5,學(xué)習(xí)基于貝葉斯網(wǎng)絡(luò)的程序依賴圖中的參數(shù)信息;
步驟4,按照函數(shù)的可疑度排序?qū)瘮?shù)進(jìn)行逐一檢查;檢查某函數(shù)時(shí),在該函數(shù)的語句層BNPDG上進(jìn)行測試預(yù)言的概率推理,找到bug函數(shù);在該bug函數(shù)的語句層貝葉斯網(wǎng)絡(luò)程序依賴圖上進(jìn)行錯(cuò)誤定位的概率推理,得到函數(shù)中所有語句的可疑度排序;按照語句的可疑度排序?qū)φZ句進(jìn)行逐一檢查,直到找到真正的bug語句。
2.根據(jù)權(quán)利要求1所述的一種基于貝葉斯網(wǎng)絡(luò)推理的軟件錯(cuò)誤分層診斷方法,其特征在于,所述步驟1.2具體包括:每個(gè)節(jié)點(diǎn)對(duì)都計(jì)算一個(gè)統(tǒng)計(jì)因子,該統(tǒng)計(jì)因子用于衡量該節(jié)點(diǎn)對(duì)中兩個(gè)節(jié)點(diǎn)之間是否存在依賴關(guān)系或者存在依賴關(guān)系的可能性大小,然后對(duì)得到的依賴關(guān)系進(jìn)行剪枝,目的是去掉依賴關(guān)系中的間接依賴關(guān)系,最后,根據(jù)條件獨(dú)立性測試確定依賴關(guān)系的方向,選擇最大信息系數(shù)作為統(tǒng)計(jì)因子,所有的統(tǒng)計(jì)因子都通過調(diào)用MINE工具箱計(jì)算得到。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于武漢大學(xué),未經(jīng)武漢大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710048225.8/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:草坪燈(蘑菇形)
- 下一篇:梳子手柄(231型)
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 一種自主融合先驗(yàn)知識(shí)的貝葉斯網(wǎng)絡(luò)方法
- 構(gòu)建解決組合爆炸問題的級(jí)聯(lián)貝葉斯網(wǎng)絡(luò)的方法
- 一種可重構(gòu)系統(tǒng)貝葉斯網(wǎng)構(gòu)建方法
- 一種基于貝葉斯網(wǎng)絡(luò)的網(wǎng)站缺陷預(yù)測方法及其實(shí)現(xiàn)系統(tǒng)
- 應(yīng)用處理方法、裝置、存儲(chǔ)介質(zhì)及電子設(shè)備
- 一種遮擋目標(biāo)檢測方法、電子設(shè)備、存儲(chǔ)介質(zhì)及系統(tǒng)
- 基于貝葉斯網(wǎng)絡(luò)推理模型的犯罪重建方法及裝置
- 利用憶阻器本征噪聲實(shí)現(xiàn)貝葉斯神經(jīng)網(wǎng)絡(luò)的方法及裝置
- 基于面向?qū)ο筘惾~斯網(wǎng)絡(luò)的中央空調(diào)系統(tǒng)故障診斷方法
- 一種基于貝葉斯神經(jīng)網(wǎng)絡(luò)權(quán)重約束的圖像分類方法
- 網(wǎng)絡(luò)和網(wǎng)絡(luò)終端
- 網(wǎng)絡(luò)DNA
- 網(wǎng)絡(luò)地址自適應(yīng)系統(tǒng)和方法及應(yīng)用系統(tǒng)和方法
- 網(wǎng)絡(luò)系統(tǒng)及網(wǎng)絡(luò)至網(wǎng)絡(luò)橋接器
- 一種電力線網(wǎng)絡(luò)中根節(jié)點(diǎn)網(wǎng)絡(luò)協(xié)調(diào)方法和系統(tǒng)
- 一種多網(wǎng)絡(luò)定位方法、存儲(chǔ)介質(zhì)及移動(dòng)終端
- 網(wǎng)絡(luò)裝置、網(wǎng)絡(luò)系統(tǒng)、網(wǎng)絡(luò)方法以及網(wǎng)絡(luò)程序
- 從重復(fù)網(wǎng)絡(luò)地址自動(dòng)恢復(fù)的方法、網(wǎng)絡(luò)設(shè)備及其存儲(chǔ)介質(zhì)
- 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法、裝置及存儲(chǔ)介質(zhì)
- 網(wǎng)絡(luò)管理方法和裝置
- 基于語義搜索的推理方法
- 一種基于規(guī)則的分布式推理方法及系統(tǒng)
- 一種上下文分布式推理方法和裝置
- 數(shù)據(jù)推理方法、裝置及計(jì)算機(jī)設(shè)備
- 多重推理方式的專家分診系統(tǒng)及其方法
- 多推理模式融合的老年病推理診斷系統(tǒng)
- 推理系統(tǒng)、推理方法、電子設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 一種推理服務(wù)模型的運(yùn)行方法及裝置
- 一種評(píng)估指標(biāo)權(quán)重確定方法智能選擇的方法及系統(tǒng)
- AIStation推理平臺(tái)的推理服務(wù)管理方法和裝置





