[发明专利]一种基于高阶函数的C++过程间异常分析系统及方法在审
申请号: | 202210168542.4 | 申请日: | 2022-02-23 |
公开(公告)号: | CN114647575A | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 张迎周;葛丽丽;帅东昕;密杰;杨嘉毅;卢跃;许碧欢 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/48;G06F16/35 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林 |
地址: | 210023 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 函数 c++ 过程 异常 分析 系统 方法 | ||
1.一种基于高阶函数的C++过程间异常分析方法,其特征是,包括:
确定过程调用图中每个被调用子过程的分析顺序,将C++程序中的语句进行分类;
收集各个被调用子过程异常相关语句和函数调用语句的集合约束,按照集合约束规则对集合约束进行求解,获取过程内异常分析信息后,通过高阶函数的形式将所有被调用子过程的异常分析结果保存为异常分析函数摘要;
按照函数的参数传递方式,根据形参和实参对应参数信息,在过程调用点处,对高阶函数式异常分析函数摘要的参数集合信息进行相应代入,从而将过程内的异常分析信息传递至过程间过程调用点处,获取过程间异常分析结果。
2.根据权利要求1所述的基于高阶函数的C++过程间异常分析方法,其特征是,确定过程调用图中每个被调用子过程的分析顺序,将C++程序中的语句进行分类,包括:
构建C++程序的过程调用图;
按照逆拓扑排序顺序遍历过程调用图,确定被调用子过程的分析顺序;
将程序中的语句分为异常相关的语句、过程调用语句和普通语句后,为每条语句设定一个用来跟踪未捕获异常的传播路径标签。
3.根据权利要求1所述的基于高阶函数的C++过程间异常分析方法,其特征是,收集各个被调用子过程异常相关语句和函数调用语句的集合约束,按照集合约束规则对集合约束进行求解,获取过程内异常分析信息后,通过高阶函数的形式将所有被调用子过程的异常分析结果保存为异常分析函数摘要,包括:
步骤2-1)按序选取一个待分析的子过程,初始化所述待分析子过程的集合约束,包括throw语句、try-catch处理结构、过程调用语句的异常相关集合约束;
步骤2-2)对所述待分析的子过程的第i条throw ei语句收集异常相关集合约束,其中ei为throw语句的子表达式。
步骤2-3)对所述待分析的子过程中第i个try-catch处理结构收集异常相关集合约束;
步骤2-4)对所述待分析的子过程中的第i条过程调用语句收集异常相关集合约束;
步骤2-5)判断异常相关语句和过程调用语句的集合约束是否收集完成,包括:
当异常相关语句和过程调用语句的集合约束未收集完成时,根据步骤2-2)至步骤2-4)迭代地更新所述待分析的子过程中收集到的每条throw语句、try-catch处理结构、过程调用语句的集合约束后,再次执行步骤2-5);
当所有异常相关语句和过程调用语句的集合约束都收集完成时,按照相应的集合约束规则对集合约束进行求解,获取完整的过程内异常分析结果,使用高阶函数的形式存储,生成高阶函数形式的异常分析函数摘要。
4.根据权利要求1所述的基于高阶函数的C++过程间异常分析方法,其特征是,按照函数的参数传递方式,根据形参和实参对应参数信息,在过程调用点处,对高阶函数式的异常分析函数摘要的参数集合信息进行相应代入,从而将过程内的异常分析信息传递至过程间过程调用点处,获取过程间异常分析结果,包括:
步骤3-1)收集被调用过程异常相关语句和过程调用语句的异常相关集合约束,按照相应集合约束规则进行集合约束求解,获取所述被调用过程的异常分析结果,将其表示为高阶函数式异常分析函数摘要;
步骤3-2)按照函数的参数传递方式,在函数调用点处根据形参和实参之间对应参数信息对高阶函数式异常分析函数摘要中的函数参数二元组集合进行相应代入,从而将所述被调用过程的异常分析信息传递至过程调用点处,获取到调用过程的过程间异常分析结果;
步骤3-3)判断所有被调用子过程的异常分析结果是否传递至相应过程调用点处,包括:
当所有被调用子过程的异常分析结果未全部传递至相应过程调用点处时,根据步骤3-1)至步骤3-2)迭代地更新程序中所有过程调用点的异常分析信息后,再次执行步骤3-3);
当所有被调用子过程的异常分析结果已全部传递至相应过程调用点处时,获取完整的过程间异常分析结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210168542.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种预制风帽及制造方法
- 下一篇:一种智慧支付可调扫描装置