[發明專利]一種基于高階函數的C++過程間異常分析系統及方法在審
| 申請號: | 202210168542.4 | 申請日: | 2022-02-23 |
| 公開(公告)號: | CN114647575A | 公開(公告)日: | 2022-06-21 |
| 發明(設計)人: | 張迎周;葛麗麗;帥東昕;密杰;楊嘉毅;盧躍;許碧歡 | 申請(專利權)人: | 南京郵電大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/48;G06F16/35 |
| 代理公司: | 南京縱橫知識產權代理有限公司 32224 | 代理人: | 董建林 |
| 地址: | 210023 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 函數 c++ 過程 異常 分析 系統 方法 | ||
本發明公開了函數式編程和程序分析技術領域的一種基于高階函數的C++過程間異常分析系統及方法,包括:確定過程調用圖中每個被調用子過程的分析順序,將C++程序中的語句進行分類;收集各個被調用子過程異常相關語句和函數調用語句的集合約束,按照集合約束規則對集合約束進行求解,獲取過程內異常分析信息后,通過高階函數的形式將所有被調用子過程的異常分析結果保存為異常分析函數摘要;按照函數的參數傳遞方式,根據形參和實參對應參數信息,在過程調用點處,對高階函數式異常分析函數摘要的參數集合信息進行相應代入。本發明降低了傳統方法需要構建過程間異??刂屏鲌D對異常進行過程間分析的時空開銷,解決了異常分析效率較低的問題。
技術領域
本發明涉及一種基于高階函數的C++過程間異常分析系統及方法,屬于函數式編程和程序分析技術領域。
背景技術
隨著軟件規模的不斷增大,人們對軟件質量的要求越來越高,為了提高軟件系統的健壯性,對程序中的異常進行快速有效的分析變得越來越重要。傳統的過程間異常分析關注的主要問題是在發生過程調用的情況下如何快速找到與拋出異常相匹配的異常處理程序,排查出程序中真正未捕獲的異常,將其相關信息進行反饋(如異常的唯一標識,異常名,未捕獲異常的傳播路徑)。目前主流的過程間異常分析方法大多是在過程間異??刂屏鲌D的基礎上進行遍歷,獲取過程間的異常相關信息。這類方法雖然能夠將異常的信息在圖上直觀地表現出來,但是軟件系統復雜性的提高使得構建過程間異??刂屏鲌D的時空開銷非常大。
集合約束方法通過收集特定問題的相關集合約束信息,并按照一定的約束求解規則對約束進行求解,達到對特定問題進行分析的目的。本發明對異常相關集合約束進行收集,借助于函數式編程中高階函數的特性——函數可以作為參數和返回值,提供一種基于高階函數的過程間異常分析方法,以解決傳統方法異常分析效率較低的問題。
發明內容
本發明的目的在于克服現有技術中的不足,提供一種基于高階函數的C++ 過程間異常分析系統及方法,降低了傳統方法需要構建過程間異??刂屏鲌D對異常進行過程間分析的時空開銷,解決了異常分析效率較低的問題。
為達到上述目的,本發明是采用下述技術方案實現的:
第一方面,本發明提供了一種基于高階函數的C++過程間異常分析方法,包括:
確定過程調用圖中每個被調用子過程的分析順序,將C++程序中的語句進行分類;
收集各個被調用子過程異常相關語句和函數調用語句的集合約束,按照集合約束規則對集合約束進行求解,獲取過程內異常分析信息后,通過高階函數的形式將所有被調用子過程的異常分析結果保存為異常分析函數摘要;
按照函數的參數傳遞方式,根據形參和實參對應參數信息,在過程調用點處,對高階函數式異常分析函數摘要的參數集合信息進行相應代入,從而將過程內的異常分析信息傳遞至過程間過程調用點處,獲取過程間異常分析結果。
進一步的,確定過程調用圖中每個被調用子過程的分析順序,將C++程序中的語句進行分類,包括:
構建C++程序的過程調用圖;
按照逆拓撲排序順序遍歷過程調用圖,確定被調用子過程的分析順序;
將程序中的語句分為異常相關的語句、過程調用語句和普通語句后,為每條語句設定一個用來跟蹤未捕獲異常的傳播路徑標簽。
進一步的,收集各個被調用子過程異常相關語句和函數調用語句的集合約束,按照集合約束規則對集合約束進行求解,獲取過程內異常分析信息后,通過高階函數的形式將所有被調用子過程的異常分析結果保存為異常分析函數摘要,包括:
步驟2-1)按序選取一個待分析的子過程,初始化所述待分析子過程的集合約束,包括throw語句、try-catch處理結構、過程調用語句的異常相關集合約束;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京郵電大學,未經南京郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210168542.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種預制風帽及制造方法
- 下一篇:一種智慧支付可調掃描裝置





