[發明專利]數據變更影響域分析方法有效
| 申請號: | 201810225165.7 | 申請日: | 2018-03-19 |
| 公開(公告)號: | CN108536585B | 公開(公告)日: | 2022-01-11 |
| 發明(設計)人: | 牟永敏 | 申請(專利權)人: | 北京信息科技大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京東方盛凡知識產權代理事務所(普通合伙) 11562 | 代理人: | 宋平 |
| 地址: | 100083 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據 變更 影響 分析 方法 | ||
1.一種數據變更影響域分析方法,其特征在于,包括如下步驟:
S1,比較變更前后的程序,提取變化函數以及所述變化函數內的變化數據;
S2,根據所述變化數據,獲得關鍵函數集合,其中,所述關鍵函數集合包括所述變化函數和受所述變化函數影響的函數;
S3,根據所述關鍵函數集合,提取變更函數調用路徑;
S4,根據所述變更函數調用路徑,提取全局影響基本路徑集,獲得數據變更影響域,其中,所述變更函數調用路徑上的函數包括關鍵函數和變更無關性函數,對所述關鍵函數的局部影響基本路徑集和所述變更無關性函數的處理語句進行拼接處理,生成程序的全局影響基本路徑集,所述全局影響基本路徑集即為所述數據變更影響域,基本路徑集滿足以下性質:每條路徑都至少包含一條其他路徑未包含的邊;程序中所有的邊都被基本路徑集中的路徑訪問;程序中的所有的、不屬于基本路徑集的路徑都能夠由基本路徑集中的路徑經過線性運算得到;
對所述關鍵函數進行如下處理,以獲得所述關鍵函數的局部影響基本路徑集:
根據控制流圖自動生成算法生成所述關鍵函數的控制流圖;
優先遍歷所述關鍵函數的所述控制流圖,生成關鍵函數的基本路徑集;
對所述關鍵函數的基本路徑集進行處理,提取覆蓋所述變化數據和受所述變化數據影響的數據的基本路徑集,即所述局部影響基本路徑集;其中,所述步驟S2包括如下步驟:
S21,根據所述變化數據,通過數據信息流規則得到受變化數據影響的數據,所述步驟S21的具體步驟如下:
數據信息流是所要識別的對象集中數據的二元關系,將識別對象集重新劃分為賦值語句、分支語句、循環語句和函數調用語句,這些語句假設為stmt;則所述數據信息流規則DIFR的表達式為:
DIFR={v0→v1|v0∈stmt,v1∈stmt}
表示語句stmt中的變量v1受變量v0的影響;
賦值語句:
規則1:v0=v1;(v0和v1不是指針變量){v1→v0}
規則2:v0=v1;(v0和v1是指針變量){v0→v1,v1→v0}
規則3:v0=v1;{v0→v1,v1→v0}
規則4:v0=⊙(v1,v2…vn);{v1→v0,v2→v0...vn→v0}
分支語句:
規則5:if(v0==m){v1=a};
else{v2=b};{v0→v1,v0→v2}
規則6:switch(v0){case a:v1=c;…},{v0→v1}
循環語句:
規則7:while(v0==n){v1=d;},{v0→v1}
函數調用語句:
規則8:v0=fun(v1,v2…vn);{v1→v0,v2→v0...vn→v0};
S22,根據受變化數據影響的數據,得到受所述變化函數影響的函數,所述步驟S22包括:
關鍵函數的提取需要分析變化函數內部程序語句;分兩種情況進行分析:
1)簡單語句:簡單的函數調用語句,提取被調用函數的參數集PS(Parameter Set),若其中,表示空集,CVS表示變更變量集;則把此函數添加到變化函數的影響函數集合中;
2)復雜語句:即包括選擇結構或循環結構的程序基本塊,首先提取分支條件或循環條件中的變量集VS,若此復雜語句中包含函數調用,且其中,表示空集;則把此函數添加到變化函數的影響函數集合中;
所述步驟S3包括:在所述關鍵函數集合的基礎上,根據程序函數調用路徑圖提取所述變更函數調用路徑。
2.根據權利要求1所述的數據變更影響域分析方法,其特征在于,通過文本比較工具Beyound Compare進行所述步驟S1。
3.根據權利要求1所述的數據變更影響域分析方法,其特征在于,使用一條語句“int函數名_v=常量;”來代替所述變更無關性函數,以形成所述變更無關性函數的處理語句。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京信息科技大學,未經北京信息科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810225165.7/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





