论文

基于LLM的软件功能缺陷不变测试

LLM-Based Invariant Testing for Software Functional Bugs

摘要

手动编写单元测试来发现软件库中的功能错误不仅耗时,而且需要深入理解 API 的预期语义。基于启发式的测试生成方法可用性较低,因为它们无法像人类一样推理程序语义或解释源代码和文档。像 OSS-Fuzz 这样的传统模糊测试技术通常依赖于崩溃来检测错误,但功能错误并不总是导致崩溃。为了克服这些限制,我们提出了 LISA,一种新颖的基于 LLM 的软件功能错误不变测试框架。 LISA 在 API n-gram 反馈的指导下迭代生成 API 序列和程序不变量,与模糊测试和之前基于 LLM 的测试生成方法相比,实现了更高的错误检测率和有竞争力的代码覆盖率,并将每个发现报告为高可信度错误候选者以供开发人员确认。