[發明專利]一種基于蛻變關系的整數溢出故障檢測方法有效
| 申請號: | 201510039364.5 | 申請日: | 2015-01-26 |
| 公開(公告)號: | CN104572470B | 公開(公告)日: | 2017-10-03 |
| 發明(設計)人: | 惠戰偉;黃松;李輝;任正平;胡斌;余沛毅 | 申請(專利權)人: | 中國人民解放軍理工大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 南京鐘山專利代理有限公司32252 | 代理人: | 戴朝榮 |
| 地址: | 210007 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 蛻變 關系 整數 溢出 故障 檢測 方法 | ||
1.一種基于蛻變關系的整數溢出故障檢測方法,其特征在于,包括以下步驟:
步驟1采用靜態測試工具對被測程序源代碼進行靜態檢測,對被測程序源代碼中引用的可能會發生整數溢出的整數的程序源代碼語句標識為整數溢出檢查點;
步驟2所述整數溢出檢查點的整數若存在被“定義—使用”模型中的整數定義語句或整數使用語句所引用,則將其標識為溢出整數,所述“定義—使用”模型包含造成整數溢出故障的整數定義語句表和整數使用語句表;被整數危險使用語句表中的整數危險使用語句所引用的由于整數溢出造成被測程序安全故障的所述溢出整數標識為危險整數;
步驟3在引用所述危險整數的語句被執行前采用蛻變測試方法檢測所述危險整數是否發生整數溢出故障;所述蛻變測試方法包括針對所述危險整數構造的用于檢測危險整數溢出故障的蛻變關系集,對危險整數構造的滿足蛻變關系集中的蛻變關系的輸入關系r的測試用例,測試用例所對應的被測程序的輸出若不滿足蛻變關系的輸出關系rf,則所述危險整數在后續使用語句的引用中發生整數溢出故障。
2.根據權利要求1所述的一種基于蛻變關系的整數溢出故障檢測方法,其特征在于:
所述步驟2中的整數定義語句表包括:
輸入定義,通過包含輸入終端輸入或文件輸入的外部輸入改變內存儲空間中整數變量的存儲單元的存儲值;
賦值定義,通過賦值操作改變內存儲空間中整數變量的存儲單元的存儲值;
其它定義,通過環境變量改變內存儲空間中整數變量的存儲單元的存儲值;
所述步驟2中的整數使用語句表包括:
謂詞使用,謂詞判斷語句中引用到整數變量;
計算使用,計算語句中引用到整數變量;
輸出使用,被測程序輸出為整數變量;
定位使用,被測程序中的數組、指針索引引用整數變量定位數據在存儲空間的位置;
迭代使用,被測程序的迭代次數或者循環次數的計數器引用整數變量。
3.根據權利要求1所述的一種基于蛻變關系的整數溢出故障檢測方法,其特征在于:所述步驟2中的整數危險使用語句表包括:
輸出使用,程序輸出為整數變量的整數數值:
定位使用,程序中的數組、指針索引、內存空間地址引用整數變量定位數據在存儲空間的位置:
迭代使用,程序引用整數變量控制迭代次數或者循環次數。
4.根據權利要求1所述的一種基于蛻變關系的整數溢出故障檢測方法,其特征在于:所述步驟3中的蛻變關系集包括兩個用于檢測危險整數溢出故障的蛻變關系MR1和MR2,
其中x1和x2表示被測程序的危險整數的滿足蛻變關系MR的輸入關系r的兩個測試用例,P(x1)和P(x2)分別表示被測程序P相應的輸出,[P]表示被測程序P的程序函數,被測程序的輸出若不滿足蛻變關系MR的輸出關系rf,則測試用例x1和x2所對應的被測程序的危險整數在被測程序的執行中會從內存儲空間的存儲單元中發生整數溢出,其被整數危險使用語句表中的整數危險使用語句在后續的引用中會發生整數溢出故障。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍理工大學,未經中國人民解放軍理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510039364.5/1.html,轉載請聲明來源鉆瓜專利網。





