[發明專利]一種基于給定缺陷描述信息進行軟件測試的方法及系統無效
| 申請號: | 201210254392.5 | 申請日: | 2012-07-20 |
| 公開(公告)號: | CN102819490A | 公開(公告)日: | 2012-12-12 |
| 發明(設計)人: | 黃俊飛;宮云戰;王前;金大海;王雅文;趙云山;周虹伯 | 申請(專利權)人: | 北京郵電大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京派特恩知識產權代理事務所(普通合伙) 11270 | 代理人: | 張穎玲;程立民 |
| 地址: | 100876 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 給定 缺陷 描述 信息 進行 軟件 測試 方法 系統 | ||
技術領域
本發明涉及軟件靜態測試技術,尤其涉及一種基于給定缺陷描述信息進行軟件測試的方法及系統。
背景技術
靜態代碼缺陷分析技術通過對代碼進行靜態分析來推測程序運行時的表現行為,從而發現代碼中可能存在的缺陷。
目前,通常采用基于缺陷模式的代碼檢查方法對代碼進行缺陷檢測,基于缺陷模式的代碼檢查方法主要包括如下步驟:將受檢代碼與缺陷查找工具中設置的多個缺陷模式依次進行匹配,如果受檢代碼與某一缺陷模式匹配,則確定受檢代碼包含與該缺陷模式對應的缺陷;根據確定的缺陷生成缺陷檢測報告,將所述缺陷報告呈現給用戶。所述缺陷模式是缺陷查找工具設計人員對代碼中經常出現的缺陷進行總結、提煉而設計出來的,每個缺陷模式對應不同的缺陷。
現有的缺陷查找工具,如FindBugs、PMD和Hammurapi等,通常具有固定數目的缺陷模式,是不能根據用戶的需要增加缺陷模式的,也就是說只能對已設置的缺陷模式對應的缺陷進行檢測。
但是,實踐中用戶往往希望能夠對自己所關注的缺陷進行檢測。
發明內容
有鑒于此,本發明的主要目的在于提供一種基于給定缺陷描述信息進行軟件測試的方法及系統,能夠對用戶所關注的缺陷進行檢測。
為達到上述目的,本發明的技術方案是這樣實現的:
本發明提供了一種基于給定缺陷描述信息進行軟件測試的方法,所述方法包括:
接收用戶發來的待測代碼和缺陷描述信息;
對收到的待測代碼進行靜態分析,得到符號表、控制流圖、函數調用關系、定義-使用鏈;
根據缺陷描述信息在符號表、控制流圖、函數調用關系、定義-使用鏈中進行缺陷查找,找到待測代碼中缺陷描述信息所描述的缺陷。
優選的,所述缺陷描述信息為靜態缺陷描述語言(SDDL)表達式,所述SDDL表達式用于描述用戶關注的語法缺陷,
相應的,根據缺陷描述信息在符號表、控制流圖、函數調用關系、定義-使用鏈中進行缺陷查找,找到待測代碼中缺陷描述信息所描述的缺陷,為,
在符號表、控制流圖、函數調用關系、定義-使用鏈中,查找SDDL表達式描述的用戶關注的語法缺陷,找到待測代碼中的所述語法缺陷。
優選的,所述對收到的待測代碼進行靜態分析之前,所述方法還包括:
對收到的SDDL表達式進行合法性判斷。
優選的,所述對收到的SDDL表達式進行合法性判斷,為,
判斷所述SDDL表達式中是否包含尚未定義的謂詞表達式,當不包含尚未定義的謂詞表達式時,
判斷所述SDDL表達式中各個項的類型是否都正確,當各個項的類型均正確時,判定為合法,執行對收到的待測代碼進行靜態分析的操作。
優選的,所述對收到的待測代碼進行靜態分析,得到符號表、控制流圖、函數調用關系、定義-使用鏈,為,
對收到的待測代碼進行詞法分析和語法分析,構造出待測代碼的抽象語法樹;
根據抽象語法樹,生成符號表和控制流圖;
根據生成的符號表,對待測代碼進行函數調用關系分析,生成函數調用關系;
根據控制流圖和符號表,生成定義-使用鏈。
本發明提供了一種基于給定缺陷描述信息進行軟件測試的系統,所述系統包括:信息接收單元、靜態分析單元和缺陷查找單元,其中,
所述信息接收單元,用于接收用戶發來的待測代碼和缺陷描述信息;
所述靜態分析單元,用于對信息接收單元收到的待測代碼進行靜態分析,得到符號表、控制流圖、函數調用關系、定義-使用鏈;
所述缺陷查找單元,用于根據信息接收單元收到的缺陷描述信息在靜態分析單元得到的符號表、控制流圖、函數調用關系、定義-使用鏈中進行缺陷查找,找到待測代碼中缺陷描述信息所描述的缺陷。
優選的,所述缺陷描述信息為SDDL表達式,所述SDDL表達式用于描述用戶關注的語法缺陷,
相應的,缺陷查找單元,具體用于在靜態分析單元得到的符號表、控制流圖、函數調用關系、定義-使用鏈中,查找信息接收單元收到的SDDL表達式描述的用戶關注的語法缺陷,找到待測代碼中的所述語法缺陷。
優選的,所述系統還包括:合法性判斷單元,用于對信息接收單元收到的SDDL表達式進行合法性判斷。
優選的,所述合法性判斷單元,具體用于判斷所述SDDL表達式中是否包含尚未定義的謂詞表達式,當不包含尚未定義的謂詞表達式時,
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京郵電大學,未經北京郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210254392.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種慣導部件用精確定位托架
- 下一篇:一種偏心測試的升降機構





