一种性能缺陷自动检测的方法

    公开(公告)号:CN114490369A

    公开(公告)日:2022-05-13

    申请号:CN202210060556.4

    申请日:2022-01-19

    Applicant: 南京大学

    Abstract: 软件系统在运行时出现性能问题,可能是由于代码中存在性能缺陷,如冗余的操作、变量重复赋值等。本发明提出一种方法,用来自动检测C/C++代码中潜在的性能缺陷,该方法首先基于性能缺陷的代码特征,定义用于表示该性能缺陷的标签,基于性能缺陷发生的语句序列,构建表示性能缺陷行为特征的标签约束集合;第二步,对源代码进行程序分析的构建过程间控制流图,在此基础上引入性能标签,构建带标签的过程间控制流图;第三步,在带标签的过程间控制流图上,通过深度优先遍历,同时收集路径上的标签序列,根据标签序列与标签约束集合的一致性,判定待检测系统是否存在性能缺陷,从而报告相应的性能缺陷。

    基于静态程序分析与模糊测试的内核数据竞争检测方法

    公开(公告)号:CN114428733A

    公开(公告)日:2022-05-03

    申请号:CN202210059807.7

    申请日:2022-01-19

    Applicant: 南京大学

    Abstract: 本发明公开一种基于静态程序分析与模糊测试的内核数据竞争检测方法,通过静态程序分析识别代码里的共享资源,并且获得针对共享资源的访问操作,记录该访问操作的读写属性,判定潜在数据竞争的访问对。通过分析内核同步原语语义,过滤不可能产生线程交错的共享资源访问对,以生成更加精确的数据竞争对集合。通过静态分析识别内核资源与系统调用,构建系统调用依赖图。使用数据竞争对集合与系统调用依赖图指导内核模糊测试用例的生成与变异。用一个线程感知模糊测试生成器,将线程的优先级随机化,以探索线程交错,并使用运行时反馈信息更新依赖图的边权值,完善系统调用依赖图,指导之后模糊测试输入的变异。

    一种性能缺陷自动检测的方法

    公开(公告)号:CN114490369B

    公开(公告)日:2025-04-22

    申请号:CN202210060556.4

    申请日:2022-01-19

    Applicant: 南京大学

    Abstract: 软件系统在运行时出现性能问题,可能是由于代码中存在性能缺陷,如冗余的操作、变量重复赋值等。本发明提出一种方法,用来自动检测C/C++代码中潜在的性能缺陷,该方法首先基于性能缺陷的代码特征,定义用于表示该性能缺陷的标签,基于性能缺陷发生的语句序列,构建表示性能缺陷行为特征的标签约束集合;第二步,对源代码进行程序分析的构建过程间控制流图,在此基础上引入性能标签,构建带标签的过程间控制流图;第三步,在带标签的过程间控制流图上,通过深度优先遍历,同时收集路径上的标签序列,根据标签序列与标签约束集合的一致性,判定待检测系统是否存在性能缺陷,从而报告相应的性能缺陷。

    基于静态程序分析与模糊测试的内核数据竞争检测方法

    公开(公告)号:CN114428733B

    公开(公告)日:2025-04-22

    申请号:CN202210059807.7

    申请日:2022-01-19

    Applicant: 南京大学

    Abstract: 本发明公开一种基于静态程序分析与模糊测试的内核数据竞争检测方法,通过静态程序分析识别代码里的共享资源,并且获得针对共享资源的访问操作,记录该访问操作的读写属性,判定潜在数据竞争的访问对。通过分析内核同步原语语义,过滤不可能产生线程交错的共享资源访问对,以生成更加精确的数据竞争对集合。通过静态分析识别内核资源与系统调用,构建系统调用依赖图。使用数据竞争对集合与系统调用依赖图指导内核模糊测试用例的生成与变异。用一个线程感知模糊测试生成器,将线程的优先级随机化,以探索线程交错,并使用运行时反馈信息更新依赖图的边权值,完善系统调用依赖图,指导之后模糊测试输入的变异。

Patent Agency Ranking