CFaults: Model-Based Diagnosis for Fault Localization in C Programs with Multiple Test Cases
Orvalho, Pedro, Janota, Mikoláš, Manquinho, Vasco
–arXiv.org Artificial Intelligence
Debugging is one of the most time-consuming and expensive tasks in software development. Several formula-based fault localization (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 with multiple faults. This paper introduces a novel fault localization approach for C programs with multiple faults. CFaults leverages Model-Based Diagnosis (MBD) with multiple observations and aggregates all failing test cases into a unified MaxSAT formula. Consequently, our method guarantees consistency across observations and simplifies the fault localization procedure. Experimental results on two benchmark sets of C programs, TCAS and C-Pack-IPAs, show that CFaults is faster than other FBFL approaches like BugAssist and SNIPER. Moreover, CFaults only generates subset-minimal diagnoses of faulty statements, whereas the other approaches tend to enumerate redundant diagnoses.
arXiv.org Artificial Intelligence
Jul-12-2024
- Country:
- Asia
- Europe
- Czechia > Prague (0.04)
- Poland (0.04)
- Portugal > Lisbon
- Lisbon (0.14)
- Spain > Catalonia
- Barcelona Province > Barcelona (0.04)
- United Kingdom
- England > Oxfordshire
- Oxford (0.04)
- North Sea > Central North Sea (0.04)
- England > Oxfordshire
- North America > United States
- California
- Los Angeles County
- Long Beach (0.04)
- Los Angeles (0.14)
- Orange County > Anaheim (0.04)
- Los Angeles County
- Massachusetts > Middlesex County
- Cambridge (0.04)
- Oregon > Multnomah County
- Portland (0.04)
- Texas > Travis County
- Austin (0.14)
- Washington > King County
- Seattle (0.04)
- California
- Oceania > New Zealand
- North Island > Auckland Region > Auckland (0.04)
- South America > Argentina
- Pampas > Buenos Aires F.D. > Buenos Aires (0.04)
- Genre:
- Research Report (0.40)
- Technology: