[發明專利]一種控制流錯誤檢測方法在審
| 申請號: | 201410756465.X | 申請日: | 2014-12-10 |
| 公開(公告)號: | CN104461886A | 公開(公告)日: | 2015-03-25 |
| 發明(設計)人: | 寇義民;李春;劉寬俊;潘樂;尚華;于小龍;商明森 | 申請(專利權)人: | 深圳航天東方紅海特衛星有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F11/10 |
| 代理公司: | 深圳市科吉華烽知識產權事務所(普通合伙) 44248 | 代理人: | 張立娟 |
| 地址: | 518057 廣東省深圳市南山區科*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 控制 錯誤 檢測 方法 | ||
1.一種控制流錯誤檢測方法,其特征在于,步驟如下:
步驟1:列出所有軟件模塊之間的扇入、扇出關系,生成調用關系圖,其中F1為最頂層模塊,它代表軟件的程序入口,被上一級軟件模塊調用稱為扇入模塊,調用下一級軟件模塊稱為扇出模塊;
步驟2:對每個軟件模塊編制相應數字簽名,用S來表示,同一軟件內各模塊的數字簽名不可重復;
步驟3:對每個模塊自底向上遍歷所有扇入模塊,獲得由最頂層模塊到該模塊的所有可能的調用路徑,從而形成該模塊的調用路徑集合;
步驟4:利用最頂層模塊到本模塊調用路徑上各模塊的數字簽名,采用統一規則函數H生成各模塊校驗碼集合并進行預存儲,校驗碼集合中的每個校驗碼與之前形成的校驗路徑集合中的各路徑一一對應;規則函數H滿足如下性質:
性質1H(H(Si,Sj),Sk)=H(Si,Sj,Sk);
步驟5:編寫代碼時,需將本模塊當前校驗碼傳入下一級調用模塊,并在每個模塊頭部進行校驗碼計算和比對,如果當前校驗碼計算值不在預先存儲的本模塊校驗碼集合之內,則調用異常處理;一旦發生校驗碼計算值不在本模塊校驗碼集合之內的情況時,則發現軟件控制流異常,此時可執行異常處理程序。
2.根據權利要求1所述的一種控制流錯誤檢測方法,其特征在于:步驟1采用軟件靜態分析工具對軟件源文件掃描分析生成調用關系圖。
3.根據權利要求1所述的一種控制流錯誤檢測方法,其特征在于:步驟2中,數字簽名采用無符號數表示。
4.根據權利要求1所述的一種控制流錯誤檢測方法,其特征在于:步驟4中,F1因沒有扇入,其校驗碼集合為{C1},且有C1=S1,即數字簽名與校驗碼等值。
5.根據權利要求1所述的一種控制流錯誤檢測方法,其特征在于:規則函數H使用累加和、異或和、奇偶校驗或CRC校驗碼規則,只需滿足性質1即可,CRC:Cyclic?Redundancy?Check,為循環冗余校驗碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳航天東方紅海特衛星有限公司,未經深圳航天東方紅海特衛星有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410756465.X/1.html,轉載請聲明來源鉆瓜專利網。





