本发明公开了一种基于值流分析的Golang程序高效过程间逃逸分析方法,包括,对Golang程序进行预处理,得到基于静态单赋值形式的中间代码表示,创建过程间函数调用图和过程内控制流图;将函数调用图做逆拓扑排序,建立待分析函数序列,并对待分析函数进行是否涉及过程间调用判别;根据判别的不同分别计算目标函数的逃逸变量;基于函数调用图分析程序内的所有函数的逃逸变量,将所有分析函数的ESC进行合并得到最终的逃逸变量值的集合;基于SSA的代码中间表示进行Golang程序的逃逸分析,可扩展性高,方便后续做代码数据流分析。
📄 2022104768221
📂 G06F8_41
👤 南京邮电大学
📅 2022-04-30
本发明公开了函数式编程和程序分析技术领域的一种基于高阶函数的C++过程间异常分析系统及方法,包括:确定过程调用图中每个被调用子过程的分析顺序,将C++程序中的语句进行分类;收集各个被调用子过程异常相关语句和函数调用语句的集合约束,按照集合约束规则对集合约束进行求解,获取过程内异常分析信息后,通过高阶函数的形式将所有被调用子过程的异常分析结果保存为异常分析函数摘要;按照函数的参数传递方式,根据形参和实参对应参数信息,在过程调用点处,对高阶函数式异常分析函数摘要的参数集合信息进行相应代入。本发明降低了传统方法需要构建过程间异常控制流图对异常进行过程间分析的时空开销,解决了异常分析效率较低的问题。
📄 2022101685424
📂 G06F11_36
👤 南京邮电大学
📅 2022-02-23