[發明專利]一種基于模型檢驗的時序軟件質量缺陷檢測方法及系統有效
| 申請號: | 201010150917.1 | 申請日: | 2010-04-19 |
| 公開(公告)號: | CN101833504A | 公開(公告)日: | 2010-09-15 |
| 發明(設計)人: | 張翀斌 | 申請(專利權)人: | 張翀斌 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京安博達知識產權代理有限公司 11271 | 代理人: | 徐國文 |
| 地址: | 100085 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 模型 檢驗 時序 軟件 質量 缺陷 檢測 方法 系統 | ||
技術領域:
本發明涉及一種在軟件源代碼中檢測缺陷的技術,具體講涉及一種基于靜態分析的軟件質量缺陷檢測方法,屬于計算機信息安全技術領域。
背景技術:
隨著信息技術的高速發展,軟件產品(從底層的操作系統到高層的應用程序)代碼量越來越大,程序設計越來越復雜,其本身存在著大量的質量缺陷,危害著信息系統的可用性、可靠性和安全性,因此如何檢測軟件程序中可能存在的缺陷成為目前信息技術領域高度關注的熱點。
軟件質量缺陷的檢測方法很多,根據是否需要執行被測軟件的角度可分為兩種:一種是動態分析技術,通過實際運行程序代碼來發現其可能存在的缺陷;一種是靜態分析技術,它不實際運行代碼而只是通過靜態地查看代碼以找出潛在的缺陷。
靜態分析是手動或者借助自動化檢測系統來對源代碼或者反匯編代碼清單進行審查的方法。常用的靜態分析自動化軟件缺陷檢測系統例如:RATS、ITS4以及檢查java代碼的PMD。上述自動化代碼缺陷檢測系統工作原理如下:使用鉤子函數,在遇到用戶自定義屬性中的觸發條件時,利用一個“鉤子”來調用相應的分析函數判斷是否違背了所給屬性。該方法雖然能在軟件質量檢測中發現缺陷,但是仍存在著明顯的缺點:一、不能保證缺陷發現的完全性;二、虛假錯誤的缺陷報告占多數,耗費很多額外的人力、物力去進一步分析審查;三、對于缺陷的描述能力不足,某些類型的缺陷不能夠很好地被描述;四、不具有跨過程分析的能力,對于全局性、比較微妙的缺陷,則無能為力。
發明內容
本發明目的在于提供一種基于模型檢驗的,分析能力強、缺陷定位準確、誤報率低、可讀性高的軟件質量缺陷檢測方法及系統,從而滿足分析各種代碼缺陷的要求,達到快速發現軟件的缺陷,縮短軟件開發周期,提高軟件質量,節約軟件開發成本的。
為實現上述目的,本發明提供了一種基于模型檢驗的時序軟件質量缺陷檢測方法,其改進在于:所述方法的具體步驟如下:
步驟A、輸入被檢測源代碼,并根據所述被檢測源代碼選擇缺陷模式;
步驟B、對所述被檢測的源代碼進行預處理;
步驟C、對合并完的源代碼模型進行控制流圖壓縮;
步驟D、判斷所說缺陷模式的自動機中的終止狀態在所述被檢測的原程序的建模中相對應的安全模型中是否可達,如果所述終止狀態可達,判斷所述被檢測的源代碼程序存在缺陷;如果所述終止狀態不可達,則判斷所述被檢測的源代碼程序不存在缺陷;
步驟E、結果處理:將步驟D中檢測完的源程序代碼終止狀態的位置信息轉換為于原始源代碼的位置信息;
步驟F、輸出:將最終的判斷結果輸出顯示出來供用戶閱讀。
本發明一種基于模型檢驗的時序軟件質量缺陷檢測方法的另一優選技術方案為:所述步驟B包括:
B1、分析所述被檢測的源代碼文件,并生成控制流圖;
B2、如果所述被檢測的源代碼程序由多個代碼文件組成,則先生成各自的控制流圖,再將控制流圖文件合并成一個全局控制流圖文件;
B3、根據生成的控制流程圖建模。
本發明一種基于模型檢驗的時序軟件質量缺陷檢測方法的再一優選技術方案為:所述步驟C中壓縮包括:
C1、將所述被檢測的源代碼模型里與所述缺陷模式沒有關系的內容刪除;
C2、將狀態等價的所述源代碼模型合并。
本發明一種基于模型檢驗的時序軟件質量缺陷檢測方法的第四優選技術方案為:所述步驟C中所述被檢測源代碼根據在所述步驟A中所選擇的缺陷模式進行源代碼模型壓縮。
本發明提供了一種基于模型檢驗的時序軟件質量缺陷檢測系統,其改進在于:所述系統包括源代碼模型生成器、時序缺陷模式庫、源代碼模型壓縮器、時序模型檢驗器和結果生成模塊,所述時序缺陷模式庫連接源代碼模型生成器和時序模型檢驗器,所述源代碼模型生成器經所述源代碼模型壓縮器連接時序模型檢驗器,所述時序模型檢驗器通向結果生成模塊。
本發明一種基于模型檢驗的時序軟件質量缺陷檢測系統的另一優選技術方案為:所述源代碼模型生成器將被檢測源代碼的轉化為一種形式化的狀態自動機模型。
本發明一種基于模型檢驗的時序軟件質量缺陷檢測系統的再一優選技術方案為:所述時序缺陷模式庫用于存儲時序缺陷并用形式化語言對所述時序缺陷描述建模,從而形成用于檢測的時序缺陷模式。
本發明一種基于模型檢驗的時序軟件質量缺陷檢測系統的第四個優選技術方案為:所述源代碼模型壓縮器使用時序缺陷模式對被檢測的程序系統模型進行壓縮。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于張翀斌,未經張翀斌許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010150917.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:ASON自動備份方法、還原方法及裝置
- 下一篇:一種化工離心泵軸端的密封裝置





