[發明專利]一種缺陷處理方法及缺陷處理裝置有效
| 申請號: | 201310516392.2 | 申請日: | 2013-10-28 |
| 公開(公告)號: | CN103559127B | 公開(公告)日: | 2017-03-29 |
| 發明(設計)人: | 王雅文;宮云戰;金大海;黃俊飛;王前 | 申請(專利權)人: | 北京郵電大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F17/30 |
| 代理公司: | 北京派特恩知識產權代理有限公司11270 | 代理人: | 張振偉,王黎延 |
| 地址: | 100876 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 缺陷 處理 方法 裝置 | ||
技術領域
本發明涉及靜態測試技術,尤其涉及一種缺陷處理方法及缺陷處理器。
背景技術
靜態代碼缺陷分析技術通過對代碼進行靜態分析來推測程序運行時的表現行為,從而發現代碼中可能存在的缺陷。這類技術主要包括抽象解釋、定理證明、模型檢測、符號執行和基于缺陷模式的代碼檢查等。
基于缺陷模式的代碼檢查主要包括以下步驟:首先,對已有代碼中出現過的缺陷進行總結并提煉出“缺陷模式知識”;然后,采用靜態分析的方法對待檢測的代碼進行缺陷模式匹配以確定待檢測的代碼是否包含“缺陷模式知識”中的缺陷,并把匹配結果以缺陷檢測報告的形式呈現給用戶。采用上述方法的典型缺陷靜態分析工具為FindBugs、PMD、Hammurapi等。
然而,對于現有的基于缺陷模式的代碼檢查的缺陷靜態分析工具,用戶往往希望能夠擴充“缺陷模式知識”,以使工具能夠支持對自己所關注的“代碼缺陷”進行檢測。但大多數缺陷靜態分析工具并沒有為用戶提供“添加新缺陷模式”的功能,或者,部分缺陷靜態分析工具雖然支持用戶擴充缺陷模式知識,但其擴展方式在易用性方面還存在很大不足。
發明內容
有鑒于此,本發明的主要目的在于提供一種缺陷處理方法及缺陷處理器,能夠便捷地擴充與用戶相關的缺陷模式,并且通過該缺陷模式進行有效的缺陷檢測,提升了用戶的體驗。
為達到上述目的,本發明的技術方案是這樣實現的:
一種缺陷處理方法,所述方法包括:
通過表達式值靜態默認描述語言SDDL-EXP生成語法類缺陷模式;其中,所述SDDL-EXP為預定的值相關缺陷模式語言;
根據所述語法類缺陷模式,在被測代碼中查找檢測點,并將所述語法類缺陷模式中的缺陷發生的條件實例化;
根據預設的規范化策略,將所述被測代碼中的變量及表達式進行轉換;
對轉換后的被測代碼進行后向的數據流分析,根據實例化的條件驗證在所述檢測點處是否有缺陷發生。
所述通過SDDL-EXP,生成語法類缺陷模式,包括:
基于可擴展標記語言XML生成根標簽<Default>,以及所述根標簽<Default>的一級子標簽:<Pattern>、<Operand>以及<Condition>,以及所述一級子標簽<Operand>的二級子標簽:<Order>和<Symbol>;
在所述一級子標簽<Pattern>中,以偽代碼形式生成缺陷模式相關表達式;
在所述二級子標簽<Order>中,生成待檢測的變量在所述缺陷模式相關表達式中的位置;
在所述二級子標簽<Symbol>中,為所述待檢測變量生成標識符;
在所述一級子標簽<Condition>中,以所述標識符形式生成所述待檢測變量發生缺陷的條件。
所述方法還包括:基于XML生成根標簽<Default>、以及所述根標簽<Default>的一級子標簽:<Pattern>、<Operand>以及<Condition>時,還生成所述根標簽<Default>的一級子標簽:<Description>、以及所述第一子標簽<Description>的二級子標簽:<Name>、<Date>、<Language>以及<Example>;
在所述二級子標簽<Name>中,生成缺陷模式的名稱;
在所述二級子標簽<Date>中,生成缺陷模式的創建時間;
在所述二級子標簽<Language>中,生成被檢測代碼的語言類型;
在所述二級子標簽<Example>中,生成示例代碼。
所述根據所述語法類缺陷模式,在被測代碼中查找檢測點,并將所述語法類缺陷模式中的缺陷發生的條件實例化,包括:
解析所述一級子標簽<Pattern>中的偽代碼,確定出缺陷模式相關表達式的類型;
在所述被測代碼中查找與所述缺陷模式相關表達式的類型相匹配的表達式,并作為檢測點;
依據所述二級子標簽<Order>,在所匹配的表達式中提取待檢測的變量;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京郵電大學,未經北京郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310516392.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:雙滾筒液壓自動張緊無極繩絞車
- 下一篇:照明控制系統





