[發明專利]一種基于基本塊重劃分的控制流錯誤檢測方法在審
| 申請號: | 201910959641.2 | 申請日: | 2019-10-10 |
| 公開(公告)號: | CN110806972A | 公開(公告)日: | 2020-02-18 |
| 發明(設計)人: | 莊毅;張倩雯;晏祖佳 | 申請(專利權)人: | 南京航空航天大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 南京理工大學專利中心 32203 | 代理人: | 馬魯晉 |
| 地址: | 210000*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 基本 劃分 控制 錯誤 檢測 方法 | ||
1.一種基于基本塊重劃分的控制流錯誤檢測方法,其特征在于,包括如下步驟:
步驟1,對目標程序的控制流圖進行分析,將程序中的基本塊進行分類;
步驟2,根據步驟1中得到的基本塊分類信息,對目標程序中的基本塊進行重劃分;
步驟3,對步驟2中進行基本塊重劃分操作后的目標程序生成基本塊靜態標簽值以及節點類型標簽和前驅后繼標簽的初始標簽值;
步驟4,對步驟2中得到的目標程序進行節點類型標簽和前驅后繼標簽的更新代碼的插樁;
步驟5,對步驟4中得到的目標程序進行節點類型標簽和前驅后繼標簽的標簽校驗代碼的插樁;
步驟6,對步驟5中得到的目標程序進行基本內控制流錯誤檢測代碼插樁;
步驟7,對步驟6中得到的目標程序進行過程間控制流錯誤檢測代碼插樁;
步驟8,對步驟7中得到的插樁檢錯代碼后的目標程序進行故障注入實驗,對瞬時故障導致的控制流錯誤檢測能力進行評估。
2.根據權利要求1所述的基于基本塊重劃分的控制流錯誤檢測方法,其特征在于,步驟1中所述的基本塊分類規則如下所示:
對于任意bbi,若card(Pred(bbi))=1并且card(Succ(bbi))=1,那么bbi∈SISO;SISO為單出口單入口節點集合,該集合內的基本塊節點只有一個前驅節點和一個后繼節點;對于任意bbi,若card(Pred(bbi))>1并且card(Succ(bbi))=1,那么bbi∈MISO,MISO為單出口多入口節點集合,該集合內的基本塊節點有多個前驅節點和一個后繼節點;對于任意bbi,若card(Pred(bbi))≥1并且card(Succ(bbi))=2,那么bbi∈MO。MO為多出口節點集合,該集合內的基本塊節點有多個后繼節點;
其中Succ(bbi)表示控制流圖中節點bbi的所有的后繼節點集合,Pred(bbi)表示控制流圖中節點bbi的所有的前驅節點集合,card(·)表示集合元素的個數。
3.根據權利要求1所述的基于基本塊重劃分的控制流錯誤檢測方法,其特征在于,步驟2中所述的基本塊重劃分的方法具體包含三個步驟:
步驟2.1:若bbi∈SISO,bbj∈SISO,且bbj∈Succ(bbi),則bbi'=bbi∪bbj,bbi'為合并得到的基本塊;
步驟2.2:若bbi∈MISO∪MO,bbj∈MISO∪MO,且bbj∈Succ(bbi),則在<bbi,bbj>跳轉路徑上插入空基本塊bbij,使得card(Succ(bbi))=1,card(Pred(bbj))=1,Succ(bbi)=Pred(bbj)=bbij;
步驟2.3:若bbin∈SISO,則為其生成前驅基本塊bbin',若bbout∈SISO,則為其生成后繼基本塊bbout',使得bbin'∈MISO∪MO,bbout'∈MISO∪MO;其中,bbin'為入口基本塊,bbout'出為口基本塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京航空航天大學,未經南京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910959641.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種移動廁所
- 下一篇:一種基于區塊鏈智能設備數據采集系統以及方法





