[發明專利]一種無漏報的中斷驅動型程序運行時錯誤檢測方法和系統有效
| 申請號: | 201811232920.0 | 申請日: | 2018-10-23 |
| 公開(公告)號: | CN109388573B | 公開(公告)日: | 2022-03-04 |
| 發明(設計)人: | 陳睿;賈春鵬;余娜;高棟棟;高猛;楊帆;左萬娟;郭華;鄭小萌;孫民 | 申請(專利權)人: | 北京軒宇信息技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 中國航天科技專利中心 11009 | 代理人: | 陳鵬 |
| 地址: | 100190 北京市海淀區科學院*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 漏報 中斷 驅動 程序 運行 錯誤 檢測 方法 系統 | ||
本發明公開了一種無漏報的中斷驅動型程序運行時錯誤檢測方法和系統。該方法,包括:對待處理程序進行抽象處理,得到用抽象數值表達的抽象程序;根據所述抽象程序,建立共享變量數值抽象集;對所述共享變量數值抽象集進行解析,得到中斷間干擾集;根據所述中斷間干擾集進行模塊化分析,得到模塊化分析結果;根據所述模塊化分析結果,遍歷所述抽象程序,得到遍歷結果,并根據遍歷結果確定待處理程序是否存在運行時錯誤。本發明降低了運行時錯誤檢測對測試人員經驗和能力的依賴,提高了高安全要求軟件開發和測試的效率,提升了軟件的安全性。
技術領域
本發明屬于軟件錯誤檢測技術領域,尤其涉及一種無漏報的中斷驅動型程序運行時錯誤檢測方法和系統。
背景技術
運行時錯誤是指程序運行中發生的錯誤,往往與程序運行狀態相關,只有在特定的執行條件下才會觸發,傳統動態測試方法很難覆蓋所有程序執行路徑,容易遺漏。軟件一旦發生運行時錯誤會嚴重影響系統安全。
目前使用靜態分析技術檢測軟件運行時錯誤正逐步應用于互聯網行業,靜態分析技術的好處是不需要真正執行即可分析程序可能存在的問題。互聯網行業的程序往往代碼量極大,對靜態分析工具的效率要求高。同時由于安全級別較低,針對互聯網行業的靜態分析方法往往會以產生大量漏報為代價,以滿足用于快速找到最危險的軟件安全問題的需求。
然而,對于航天等對安全有很高要求的領域,由于對于軟件問題的“零容忍”,針對互聯網行業的軟件靜態分析方法并不適用。與此同時,與桌面程序的多線程模型不同,目前對于中斷驅動模型的研究不多,尚沒有能夠應用于一線工作的成果,而這些領域幾乎所有的軟件均為中斷驅動型軟件。因此在這些領域,對于軟件運行時錯誤的檢測仍以人工為主,檢測結果依賴于測試人員的經驗和能力。
一些對于航天等對安全有很高要求的領域軟件嵌入式軟件運行時錯誤檢測的研究尚處于不成熟階段,方法存在一定局限,或只能處理特定的如數據訪問沖突等某一類數值型運行時錯誤,適用范圍較窄;或不具備不產生漏報的特點,不能滿足這些軟件的安全要求。
發明內容
本發明的技術解決問題:提供一種無漏報的中斷驅動型程序運行時錯誤檢測無漏報的中斷驅動型程序運行時錯誤檢測方法和系統,旨在解決目前沒有高效的手段幫助開發和測試人員發現中斷驅動型程序數值型運行時錯誤的問題,降低運行時錯誤檢測對測試人員經驗和能力的依賴,提高安全要求軟件開發和測試效率,提升軟件安全性。
為了解決上述技術問題,本發明公開了一種無漏報的中斷驅動型程序運行時錯誤檢測方法,包括:
對待處理程序進行抽象處理,得到用抽象數值表達的抽象程序;
根據所述抽象程序,建立共享變量數值抽象集;
對所述共享變量數值抽象集進行解析,得到中斷間干擾集;
根據所述中斷間干擾集進行模塊化分析,得到模塊化分析結果;
根據所述模塊化分析結果,遍歷所述抽象程序,得到遍歷結果,并根據遍歷結果確定待處理程序是否存在運行時錯誤。
優選的,所述對待處理程序進行抽象處理,得到用抽象數值表達的抽象程序,包括:
對所述待處理程序進行變量提取,將提取得到的變量轉化為滿足設定條件的抽象域;根據所述抽象域確定用抽象數值表達的抽象程序。
優選的,所述抽象域滿足如下設定條件:
可表示實數范圍內的任意數值;
任意兩個抽象數值的合并結果仍為抽象數值,且,所述任意兩個抽象數值均小于或等于所述任意兩個抽象數值的合并結果;
存在一個最小抽象數值,其中,任意抽象數值與最小抽象數值的合并結果均為所述任意抽象數值本身;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京軒宇信息技術有限公司,未經北京軒宇信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811232920.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種軟件測試方法和系統
- 下一篇:靜態分析輔助系統





