一种基于图计算的代码分析的方法和装置

    公开(公告)号:CN112800425B

    公开(公告)日:2024-06-21

    申请号:CN202110145882.0

    申请日:2021-02-03

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于图计算的代码分析的方法和装置。该方法首相将程序代码转换成无函数调用节点的全局流程控制图,每个节点的代码语句转换成数据流向信息;然后对全局流程控制图划分分区,每个分区为子控制流程图,分区后初始化每个分区的待分析节点集,然后以分区为单元采用整体同步并行计算的方式对分区进行分析,分区分析时对每个节点调用用户所实现分析的接口通过循环迭代直到用户所实现分析的接口输出稳定时,从待分析节点集中删除节点,直到所有的各个分区的待分析节点集中的节点被清空。分区同步并行计算时以分区为单位进行磁盘数据调度。本发明可在单机上实现大规模系统软件代码的数据流和上下文敏感分析。

    一种eBPF程序优化的方法、装置、介质及设备

    公开(公告)号:CN118132089A

    公开(公告)日:2024-06-04

    申请号:CN202410384186.9

    申请日:2024-04-01

    Applicant: 南京大学

    Abstract: 本发明公开了一种eBPF程序优化的方法、装置、介质及设备。该方法通过首先将eBPF程序编译成LLVMIR,然后通过LLVMIR中的基本块,为每个基本块插入记录指令,然后加载并执行插桩后的LLVMIR,收集通过执行记录指令得到的基本块是否被执行的信息组成程序执行信息序列,然后根据程序执行信息序列对eBPF程序进行LLVMIR层面的优化,包括循环展开优化、内存命中优化、map调用优化。相比于传统程序的静态分析优化,本发明属于动态执行后的优化,可以有效提高eBPF程序性能。

    基于结构化程序自动合成的代码覆盖率工具测试的方法

    公开(公告)号:CN114780406A

    公开(公告)日:2022-07-22

    申请号:CN202210428792.7

    申请日:2022-04-22

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于结构化程序自动合成的代码覆盖率工具测试方法,包括如下步骤:枚举算法生成多个控制流结构序列;初始化可插入点位置数组;使用去重算法为每个控制流结构选择合理位置信息并保证程序框架的唯一性;为每个控制流结构随机选择条件判断语句;为上述语句中使用到变量在当前程序选择合适的声明位置;消除程序框架中的显性死循环;添加空语句并生成测试源代码;分析程序中控制流结构和语句的执行情况对其打标并结合程序框架结构化信息生成不变式;利用不变式规则对覆盖率报告进行正确性测试。本发明利用结构化程序设计思想,有效降低测试用例程序复杂度,减轻了后续人工分析的工作量,同时保证了程序丰富的结构化信息。

    一种基于分布式图计算的过程间数据流分析方法和装置

    公开(公告)号:CN114780405A

    公开(公告)日:2022-07-22

    申请号:CN202210428770.0

    申请日:2022-04-22

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于分布式图计算的过程间数据流分析的方法和装置,该方法首先接收程序的过程间控制流图作为输入,控制流图中节点属性为程序语句信息;用户根据特定数据流分析实现预留接口;在计算初始时,控制流图中所有节点均为活动节点,并初始化输出数据流事实;分布式图计算系统以并行方式处理活动节点,按照三次消息传递方式,根据用户实现的接口实例进行迭代分析,直到系统中无活动节点或迭代次数达到用户指定阈值;基于该方法的分布式数据流分析装置在现有分布式图计算引擎上被开发,该装置可以在大规模集群上为大型程序代码运行过程间数据流分析应用,通过提供数据流分析分布式处理框架,降低了使用分布式技术和数据流分析技术的开发门槛。

    一种用于大规模系统中状态相关缺陷的静态检测方法

    公开(公告)号:CN109710538B

    公开(公告)日:2021-05-28

    申请号:CN201910042564.4

    申请日:2019-01-17

    Applicant: 南京大学

    Abstract: 本发明涉及一种用于大规模系统中状态相关缺陷的静态检测方法,首先将大规模系统中与状态相关的缺陷抽象为有限状态机表示的形式。其次基于符号执行技术产生过程间控制流执行树(ICFET),并提出了一个新的基于区间的路径编码/解码算法来表示路径约束。然后基于ICFET以上下文敏感和路径敏感的方式进行别名分析和数据流分析,跟踪每个指定类型的每个对象的流,以识别可能在对象上发生的事件序列。最后根据ICFET以及别名分析和数据流分析产生的程序图,进行基于约束的图可达性计算,如果可达边能够到达有限状态机中未定义或错误状态,则存在可以将一个对象或一组对象驱动到规范上的未定义或错误状态的事件序列,生成错误报告。

Patent Agency Ranking