-
公开(公告)号:CN117806976A
公开(公告)日:2024-04-02
申请号:CN202410060237.2
申请日:2024-01-11
Applicant: 南京大学
IPC: G06F11/36 , G06F18/213
Abstract: 本发明提出了一种增强特征的安全冗余排错检查去除方法。该方法主要包含以下步骤:1)将用户代码转换为LLVM中间表示;2)识别出代码中的排错检查;3)计算出每个检查分支的静态特征,在计算静态特征时包括额外的操作符的特征;4)执行测试用例得到每个分支的动态特征;5)根据分支间的动态特征与静态特征判定分支是否冗余,去除冗余的排错检查。本发明利用了增强的特征来识别冗余的排错检查,提高了冗余排错检查去除方法的安全性。
-
公开(公告)号:CN117851260A
公开(公告)日:2024-04-09
申请号:CN202410060200.X
申请日:2024-01-11
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明提供了一种基于多组对抗配置的编译器缺陷定位方法,主要包括下列步骤:1)识别缺陷相关的细粒度优化选项;2)基于不同配置生成多组对抗配置;3)基于程序频谱获取编译器文件的可疑度排名;4)聚合多组排名汇总定位结果。本发明解决了现有方法仅使用单个对抗配置的编译器缺陷定位方法效果不够理想的问题,生成和融合多个对抗配置的定位结果来提升编译器缺陷定位的效果。该方法通过生成和融合多组不同的对抗配置,可以更加有效地定位编译器的缺陷,帮助开发者快速修复缺陷,提升编译器质量,为后续依赖编译器的软件工程应用提供了基础支撑。
-
公开(公告)号:CN115422082A
公开(公告)日:2022-12-02
申请号:CN202211161595.X
申请日:2022-09-22
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明提供了一种基于调试信息支撑的代码覆盖器缺陷检测方法,主要包括下列步骤:1)使用代码覆盖器为测试程序生成覆盖报告,获取代码覆盖信息;2)在调试器中单步调试运行程序,获取代码命中信息;3)在调试器中断点调试运行程序,获取代码命中信息;4)综合两种不同的调试策略下的命中计数,获得综合命中计数;5)比较代码覆盖信息和命中计数,检查是否违反预定义的异构蜕变关系;6)违反异构蜕变关系视为代码覆盖器中的缺陷。本发明利用调试信息对覆盖信息进行验证,解决了代码覆盖器测试中测试预言缺失的技术难题,且克服了现有方法的局限。该方法能有效检测覆盖器的缺陷,提高代码覆盖器质量。
-
公开(公告)号:CN115470138A
公开(公告)日:2022-12-13
申请号:CN202211161594.5
申请日:2022-09-22
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明提供了一种基于不同调试级别交叉验证的调试器缺陷检测方法,主要步骤:1)使用编译器将源码程序编译为可执行程序,可指定任意优化选项并启用调试选项;2)分别在源码级别和指令级别在调试器中单步调试运行可执行程序;3)跟踪和记录单步调试每前进一步时程序的状态,即动态调试信息;4)检查源码级单步调试和指令级单步调试记录的动态调试信息是否违反预定义的关系,若违反则视为调试器中的缺陷。本发明解决了调试器缺陷检测中无法检测单个调试器中的缺陷且误报率高的局限,基于不同调试级别交叉验证的方法为调试器缺陷检测提供了一套全新的解决方案。
-
-
-