Model-Based Diagnosis with Multiple Observations: A Unified Approach for C Software and Boolean Circuits
Not on the map. Why?
Abstract (arXiv)
Debugging is one of the most time-consuming and expensive tasks in software development and circuit design. Several formula-based fault localisation (FBFL) methods have been proposed, but they fail to guarantee a set of diagnoses across all failing tests or may produce redundant diagnoses that are not subset-minimal, particularly for programs/circuits with multiple faults. This paper introduces CFaults, a novel fault localisation tool for C software and Boolean circuits with multiple faults. CFaults leverages Model-Based Diagnosis (MBD) with multiple observations and aggregates all failing test cases into a unified Maximum Satisfiability (MaxSAT) formula. Consequently, our method guarantees consistency across observations and simplifies the fault localisation procedure. Experimental results on three benchmark sets, two of C programs, TCAS and C-Pack-IPAs, and one of Boolean circuits, ISCAS85, show that CFaults is faster at localising faults in C software than other FBFL approaches such as BugAssist, SNIPER, and HSD. On the ISCAS85 benchmark, CFaults is generally slower than HSD; however, it localises faults in only 6% fewer circuits, demonstrating that it remains competitive in this domain. Furthermore, CFaults produces only subset-minimal diagnoses of faulty statements, whereas the other approaches tend to enumerate redundant diagnoses (e.g., BugAssist and SNIPER).
Key facts. No citing papers in the map yet (data through 14 Oct 2026). Builds on 8 of its 64 references that are in the map. First posted on arXiv 2 Dec 2025.
Builds on
8 of 64 references.
References · 8
- 2018You Cannot Fix What You Cannot Find! An Investigation of Fault Localization Bias in Benchmarking Automated Program Repair Systemscited by 13
- 2024Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localizationcited by 8
- 2021Locating Faults with Program Slicing: An Empirical Analysiscited by 7
- 2022C-Pack of IPAs: A C90 Program Benchmark of Introductory Programming Assignmentscited by 5
- 2022InvAASTCluster: On Applying Invariant-Based Program Clustering to Introductory Programming Assignmentscited by 4
- 2025PyVeritas: On Verifying Python via LLM-Based Transpilation and Bounded Model Checking for Ccited by 4
- 2024CFaults: Model-Based Diagnosis for Fault Localization in C Programs with Multiple Test Casescited by 1
- 2024GitSEED: A Git-backed Automated Assessment Tool for Software Engineering and Programming Educationcited by 1
Built on by
Not cited yet.