WitnessGym: Benchmarking Coding Agents on the Construction of Bug Witnesses
cs.SE, cs.AI
Submitted: 2026-09-29
Updated: 2026-09-29
Comments: 30 pages, 8 figures, and 12 tables, including appendices
Code: https://github.com/HarminChee/WitnessGymhttps:
License: http://creativecommons.org/licenses/by/4.0/
The gist: Bug validation asks a coding agent to produce an executable witness for a reported bug.
Terminology
Abstract
Bug validation asks a coding agent to produce an executable witness for a reported bug. The witness combines a concrete input with a testing harness and exposes faulty behavior during execution. Such evidence makes audit findings actionable, yet benchmark evaluation is difficult when cases reuse public historical bugs and witnesses or require manual construction. We present WitnessGym, an automated framework for constructing bug-validation benchmarks through bug injection. It injects bugs into test-reached paths of real projects, rebuilds each project, and retains cases exposed by a construction-time witness. Bug specifications and execution adapters allow extension to additional bug types and languages. Bug-preserving transformations vary the surrounding structure while preserving the witness behavior. Based on real-world Java projects with test suites, WitnessGym automatically constructs 1,300 benchmark cases. The injected patches resemble historical bug patches and are difficult for the two evaluated models to distinguish in blinded comparisons. We evaluate four coding agent frameworks in six framework/model pairings across bug types, execution contexts, and transformation depths. Witness construction remains difficult even when the bug pattern is known. Our framework, benchmark cases, and evaluation scripts are available.
Sources
- SecCodeBench-V2 Technical Report
- Agentic Bug Reproduction for Effective Automated Program Repair at Google
- Minimizing False Positives in Static Bug Detection via LLM-Enhanced Path Feasibility Analysis
- PoC-Gym: Towards More Reliable LLM-Assisted Proof-of-Concept Exploit Generation
- SEC-bench Pro: Can Language Models Solve Long-Horizon Software Security Tasks?
- Change2Task: From Repository Changes to Executable Coding Agent Tasks and Environments
- Live-SWE-agent: Can Software Engineering Agents Self-Evolve on the Fly?
- AnyPoC: Universal Proof-of-Concept Test Generation for Scalable LLM-Based Bug Detection
Related papers
- Falsification-Based Verification of LLM-Generated Optimization Models: Sound Test Batteries and Their Detection Limits
- GitSkills: A Dataset of Agent Skills on GitHub
- SABER: Benchmarking Operational Safety of LLM Coding Agents in Stateful Project Workspaces
- PackMonitor: Enabling Zero Package Hallucinations Through Decoding-Time Monitoring
- IntentCoding: Amplifying User Intent in Code Generation
- Incentives and Outcomes in Bug Bounties