[發明專利]一種帶環路徑的編碼、執行及解碼方法有效
| 申請號: | 201210159676.6 | 申請日: | 2012-05-22 |
| 公開(公告)號: | CN102693133A | 公開(公告)日: | 2012-09-26 |
| 發明(設計)人: | 李必信;王璐璐 | 申請(專利權)人: | 東南大學 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 南京天翼專利代理有限責任公司 32112 | 代理人: | 王玉梅 |
| 地址: | 211189 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 帶環 路徑 編碼 執行 解碼 方法 | ||
1.一種帶環路徑的編碼、執行及解碼方法,其特征是,包括以下步驟:
(1)從程序源碼中獲取各個過程之間的調用關系、每個過程內部的控制結構以及在控制結構基礎上的無環子圖;
(2)按照路徑的不同類型執行相應的插裝算法,即:
對于過程內的路徑,首先求出過程內部具有多個入邊的節點集合,對于集合中的每個節點,定義其具有n條入變,將這n條入邊依次與從0開始的n-1個連續整數相對應;然后在該邊上插裝加法和乘法相結合的探針計算語句,執行終點處的探針變量的值對應于所執行路徑的編碼,以使得到的路徑編碼具有唯一性;
對于過程間的路徑,基于目標程序中各個過程之間的調用關系,以適當的策略將過程集簇;如果一個多態調用涉及的被調用方法分布在多個簇中,則對相應的調用語句進行拆解,以使每個調用邊的動態綁定情況局限于單個簇中;然后組合各個過程內的控制流圖得到全局控制流;對于全局控制流圖中的節點,按照過程內路徑的方式按序進行插裝,且對于有多個入邊的節點,依次在其所有入邊上插裝乘法和加法相結合的探針計算語句;
(3)執行插裝后的程序,并收集相應的路徑編碼及其頻率;
(4)由步驟(3)中收集到的信息在控制流圖上進行回溯,將路徑編碼轉化為路徑,以獲取路徑的執行結果。
2.根據權利要求1所述的帶環路徑的編碼、執行及解碼方法,其特征是,步驟(2)中,探針計算語句為:定義r’為無環子圖的局部探針變量,r為單個過程內部的全局探針變量,n為執行路徑的數量,則執行終點處探針變量的值,即所執行路徑的編碼計算方式為:r=r*n+r’,程序執行完畢后的r的取值即為所執行路徑的編碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東南大學,未經東南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210159676.6/1.html,轉載請聲明來源鉆瓜專利網。





