-
公开(公告)号:CN117851260A
公开(公告)日:2024-04-09
申请号:CN202410060200.X
申请日:2024-01-11
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明提供了一种基于多组对抗配置的编译器缺陷定位方法,主要包括下列步骤:1)识别缺陷相关的细粒度优化选项;2)基于不同配置生成多组对抗配置;3)基于程序频谱获取编译器文件的可疑度排名;4)聚合多组排名汇总定位结果。本发明解决了现有方法仅使用单个对抗配置的编译器缺陷定位方法效果不够理想的问题,生成和融合多个对抗配置的定位结果来提升编译器缺陷定位的效果。该方法通过生成和融合多组不同的对抗配置,可以更加有效地定位编译器的缺陷,帮助开发者快速修复缺陷,提升编译器质量,为后续依赖编译器的软件工程应用提供了基础支撑。
-
公开(公告)号:CN116185851A
公开(公告)日:2023-05-30
申请号:CN202310145904.2
申请日:2023-02-21
Applicant: 南京大学
IPC: G06F11/36 , G06F16/2458
Abstract: 本发明提供了一种历史缺陷用例赋能的SMT求解器缺陷检测方法,主要步骤:1)从求解器的缺陷追踪系统中自动化收集历史缺陷用例;2)提取历史缺陷用例中逻辑公式的骨架结构(即公式中逻辑连接词构成的逻辑结构)以及原子公式;3)对所提取出的原子公式抽象化并进行关联规则学习;4)在关联规则的指导下使用原子公式对已提取出的骨架结构进行实例化,以得到可用于求解器测试的逻辑公式,对多个求解器进行差分测试。本发明解决了求解器缺陷检测中有效的测试输入难以生成的局限,基于历史缺陷用例构造新的揭错能力强的测试用例的方法为求解器缺陷检测提供了一套全新的解决方案。
-
公开(公告)号:CN116048988A
公开(公告)日:2023-05-02
申请号:CN202310042641.2
申请日:2023-01-05
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明提供了一种基于长时执行测试程序过滤的编译器测试加速方法,主要包括下列步骤:1)对随机程序生成器生成的每一个测试程序进行插桩;2)给定短暂运行时间,对于没有在给定时间内运行结束的测试程序,获取测试程序运行时的覆盖信息;3)过滤覆盖信息超过设定阈值的测试程序。本发明提出将长时运行测试程序的检测问题转化为测试程序中超大循环或死循环的检测问题,在过滤掉潜在长时运行测试程序后,能够在有限的测试资源下执行更大量的测试程序,从而达到加速编译器测试过程的目的。
-
公开(公告)号:CN115422082A
公开(公告)日:2022-12-02
申请号:CN202211161595.X
申请日:2022-09-22
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明提供了一种基于调试信息支撑的代码覆盖器缺陷检测方法,主要包括下列步骤:1)使用代码覆盖器为测试程序生成覆盖报告,获取代码覆盖信息;2)在调试器中单步调试运行程序,获取代码命中信息;3)在调试器中断点调试运行程序,获取代码命中信息;4)综合两种不同的调试策略下的命中计数,获得综合命中计数;5)比较代码覆盖信息和命中计数,检查是否违反预定义的异构蜕变关系;6)违反异构蜕变关系视为代码覆盖器中的缺陷。本发明利用调试信息对覆盖信息进行验证,解决了代码覆盖器测试中测试预言缺失的技术难题,且克服了现有方法的局限。该方法能有效检测覆盖器的缺陷,提高代码覆盖器质量。
-
-
-