[發明專利]基于程序切片和頻繁模式提取的代碼缺陷檢測方法及裝置有效
| 申請號: | 201210594149.8 | 申請日: | 2012-12-31 |
| 公開(公告)號: | CN103914374B | 公開(公告)日: | 2017-09-22 |
| 發明(設計)人: | 梁彬;邊攀 | 申請(專利權)人: | 梁彬 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京安信方達知識產權代理有限公司11262 | 代理人: | 白瑩,栗若木 |
| 地址: | 100193 北京市海淀區東北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 程序 切片 頻繁 模式 提取 代碼 缺陷 檢測 方法 裝置 | ||
1.一種基于程序切片和頻繁模式提取的代碼缺陷檢測方法,其特征在于,所述方法包括:
自定義或者從目標源程序獲取一個或多個敏感線索,所述敏感線索包含敏感操作和與所述敏感操作相應的參數;
針對每個敏感線索對所述目標源程序應用程序切片技術消除所述目標源程序中與所述敏感線索無關的代碼,生成相應的切片結果集;
根據所述切片結果集提取頻繁模式;
在所述頻繁模式的基礎上生成關聯規則,檢測違反所述關聯規則的代碼并生成缺陷報告;
所述根據所述切片結果集提取頻繁模式包括:對所述切片結果集應用數據挖掘技術提取所述頻繁模式;
所述對所述切片結果集應用數據挖掘技術提取所述頻繁模式的方法包括:規范化變量名,具體包括:對于能夠確定變量函數來源的變量使用此變量的函數來源重命名此變量,對于不能夠確定變量函數來源的變量使用此變量的變量類型重命名此變量;
所述對所述切片結果集應用數據挖掘技術提取所述頻繁模式的方法包括:規范化程序語句,具體包括:枚舉程序語句的等價語句集合,用此集合代替所述程序語句;
所述從目標源程序獲取敏感線索的方法包括:判斷所述目標源程序中一操作的參數的有效性被驗證的概率大于預設時,將此操作及相應的參數作為敏感線索;
對參數的驗證包括直接驗證和間接驗證方式,如果變量直接出現在驗證語句中,稱為直接驗證;如果對與變量相關的其他變量進行了驗證,則對該變量的驗證為間接驗證。
2.如權利要求1所述的方法,其特征在于,
所述生成切片結果的方法包括:根據所述敏感線索確定切片準則;針對每個切片準則,遍歷所述目標源程序的程序依賴圖,發現并標記與其相關的程序代碼,將被標記的節點確定為相應的切片結果。
3.如權利要求2所述的方法,其特征在于,
所述根據敏感線索確定切片準則的方法包括:一節點對應的程序語句調用所述敏感線索的敏感操作時,將此節點和與所述敏感操作的形參對應的實參組成切片準則。
4.如權利要求1所述的方法,其特征在于,
將每個切片結果集轉換成數據庫;在每個數據庫上挖掘頻繁模式。
5.一種基于程序切片和頻繁模式提取的代碼缺陷檢測裝置,其特征在于,所述裝置包括敏感線索獲取模塊、切片處理模塊、頻繁模式提取模塊、檢測模塊;
所述敏感線索獲取模塊,用于自定義或者從目標源程序獲取一個或多個敏感線索,所述敏感線索包含敏感操作和與所述敏感操作相應的參數;
所述切片處理模塊,用于針對每個敏感線索對所述目標源程序應用程序切片技術消除所述目標源程序中與所述敏感線索無關的代碼,生成相應的切片結果集;
所述頻繁模式提取模塊,用于根據所述切片結果集提取頻繁模式;
所述檢測模塊,用于在所述頻繁模式的基礎上生成關聯規則,檢測違反所述關聯規則的代碼并生成缺陷報告;
所述頻繁模式提取模塊,還用于對所述切片結果集應用數據挖掘技術提取所述頻繁模式,具體包括:規范化變量名;
所述規范化變量名包括:對于能夠確定變量函數來源的變量使用所述變量的函數來源重命名所述變量,對于不能夠確定變量函數來源的變量使用所述變量的變量類型重命名所述變量;
所述頻繁模式提取模塊,還用于對所述切片結果集應用數據挖掘技術提取所述頻繁模式,具體包括:規范化程序語句,所述規范化程序語句包括:枚舉程序語句的等價語句集合,用此集合代替所述程序語句;
所述敏感線索獲取模塊,具體用于判斷所述目標源程序中一操作的參數的有效性被驗證的概率大于預設概率時,將此操作及相應的參數作為敏感線索。
6.如權利要求5所述的裝置,其特征在于,
所述切片處理模塊還包括切片準則確定單元和切片結果確定單元;
所述切片準則確定單元,用于根據所述敏感線索確定切片準則;
所述切片結果確定單元,用于針對每個切片準則,遍歷所述目標源程序的程序依賴圖,發現并標記與其相關的程序代碼,將被標記的節點確定為相應的切片結果。
7.如權利要求6所述的裝置,其特征在于,
所述切片準則確定單元,還用于判定一節點對應的程序語句調用所述敏感線索的敏感操作時,將此節點和與所述敏感操作的形參對應的實參組成切片準則。
8.如權利要求5、6、7任一項所述的裝置,其特征在于,
將每個切片結果集轉換成數據庫;在每個數據庫上挖掘頻繁模式。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于梁彬,未經梁彬許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210594149.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種新型隔音面料
- 下一篇:Pt?Al?Hf/Zr涂層及方法





