Model-Based Diagnosis with Multiple Observations: A Unified Approach for C Software and Boolean Circuits
Pedro Orvalho, Marta Kwiatkowska, Mikol\'a\v{s} Janota, Vasco Manquinho

TL;DR
This paper presents CFaults, a new fault localisation tool for C software and Boolean circuits with multiple faults, using Model-Based Diagnosis and MaxSAT to improve accuracy and efficiency over existing methods.
Contribution
CFaults introduces a unified approach leveraging MBD with multiple observations and MaxSAT, guaranteeing consistent diagnoses and reducing redundancy in fault localisation.
Findings
CFaults outperforms existing FBFL methods in speed on C programs.
CFaults localises faults in fewer circuits compared to HSD.
CFaults produces only subset-minimal diagnoses, reducing redundancy.
Abstract
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,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Formal Methods in Verification · Model-Driven Software Engineering Techniques
