Semantic Debugging
Martin Eberlein, Marius Smytzek, Dominic Steinhöfel, Lars Grunske, Andreas Zeller
Abstract
We present a novel and general technique to automatically determine failure causes and conditions, using logical properties over input elements: "The program fails if and only if int(⟨length⟩) > len(⟨payload⟩) holds-that is, the given ⟨length⟩ is larger than the ⟨payload⟩ length." Our AVICENNA prototype uses modern techniques for inferring properties of passing and failing inputs and validating and refining hypotheses by having a constraint solver generate supporting test cases to obtain such diagnoses. As a result, AVICENNA produces crisp and expressive diagnoses even for complex failure conditions, considerably improving over the state of the art with diagnoses close to those of human experts.
• Software and its engineering → Software testing and debugging; • Theory of computation → Grammars and context-free languages; Oracles and decision trees; Active learning.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext e4452bfd-837e-4c85-a355-ea606f8fe6f8Cited by top-tier papers2
- AutoCodeSherpa: Symbolic Explanations in AI Coding AgentsSungmin Kang, Haifeng Ruan, Abhik RoychoudhuryISSTA 2026
- Efficient Understanding of Machine Learning Model MispredictionsMartin Eberlein, Jürgen Cito, Lars GrunskeASE 2025
Builds on8
- Skyfire: Data-Driven Seed Generation for FuzzingJunjie Wang, Bihuan Chen, Lei Wei, Yang LiuS&P 2017 · 382 citations
- NAUTILUS: Fishing for Deep Bugs with GrammarsCornelius Aschermann, Tommaso Frassetto, Thorsten Holz, Patrick Jauernig et al.NDSS 2019 · 291 citations
- Input invariantsDominic Steinhöfel, Andreas ZellerFSE 2022 · 47 citations
- Concolic program repairRidwan Salihin Shariffdeen, Yannic Noller, Lars Grunske, Abhik RoychoudhuryPLDI 2021 · 45 citations
- When does my program do this? learning circumstances of software behaviorAlexander Kampmann, Nikolas Havrikov, Ezekiel O. Soremekun, Andreas ZellerFSE 2020 · 29 citations
Related papers
- Abstracting failure-inducing inputsRahul Gopinath, Alexander Kampmann, Nikolas Havrikov, Ezekiel O. Soremekun et al.ISSTA 2020 · 22 citations
- DiaVio: LLM-Empowered Diagnosis of Safety Violations in ADS Simulation TestingYou Lu, Yifan Tian, Yuyang Bi, Bihuan Chen et al.ISSTA 2024 · 9 citations
- Mining assumptions for software components using machine learningKhouloud Gaaloul, Claudio Menghi, Shiva Nejati, Lionel C. Briand et al.FSE 2020 · 19 citations
- Random Testing via Runtime Abstract InterpretationZain K Aamer, Benjamin C. PierceOOPSLA 2026 · 1 citation
- SymDiag: Explainable Diagnosis for LLM Reasoning via Neuro-Symbolic VerificationWenyao Cui, Huaping Zhang, Yongyi Huang, Qiuchi Li et al.KDD 2026
