DiffSpec: Differential Testing with LLMs using Natural Language Specifications and Code Artifacts
Not on the map. Why?
Abstract (arXiv)
Differential testing can be an effective way to find bugs in software systems with multiple implementations that conform to the same specification, like compilers, network protocol parsers, or language runtimes. Specifications for such systems are often standardized in natural language documents, like Instruction Set Architecture (ISA) specifications or IETF RFC's. Large Language Models (LLMs) have demonstrated potential in both generating tests and handling large volumes of natural language text, making them well-suited for analyzing artifacts like specification documents, bug reports, and code implementations. In this work, we leverage natural language and code artifacts to guide LLMs to generate targeted tests that highlight meaningful behavioral differences between implementations, including those corresponding to bugs. We introduce DiffSpec, a framework for generating differential tests with LLMs using prompt chaining. We demonstrate DiffSpec's efficacy on two different (extensively tested) systems, eBPF runtimes and Wasm validators. Using DiffSpec, we generated 1901 differentiating tests, uncovering at least four distinct and confirmed bugs in eBPF, including a kernel memory leak, inconsistent behavior in jump instructions, undefined behavior when using the stack pointer, and tests with infinite loops that hang the verifier in ebpf-for-windows. We also found 299 differentiating tests in Wasm validators pointing to two confirmed and fixed bugs.
Key facts. Cited by 5 papers in the map (data through 7 Oct 2026). First posted on arXiv 5 Oct 2024.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2025: 2; 2026: 3.
5 papers.
- 2025Raw Pointer Rewriting with LLMs for Translating C to Safer Rustcited by 4
- 2025What a diff makes: automating code migration with large language modelscited by 0
- 2026Fuzzing with Agents? Generators Are All You Needcited by 0
- 2026Agentic Method for Deterministic Validation of Legacy Code Migrationcited by 0
- 2026TestGRAD: Evolving Test Suites via Failure Pattern Momentum for SWE-Agent Ensemblecited by 0
- 2026TestGRAD: Evolving Test Suites via Failure Pattern Momentum for SWE-Agent Ensemble7 Oct 2026
- 2026Agentic Method for Deterministic Validation of Legacy Code Migration30 Jul 2026
- 2026Fuzzing with Agents? Generators Are All You Need1 Apr 2026
- 2025What a diff makes: automating code migration with large language models31 Oct 2025
- 2025Raw Pointer Rewriting with LLMs for Translating C to Safer Rust7 May 2025