Fault Localization in Multi-Threaded C Programs using Bounded Model Checking (extended version)
Erickson H. da S. Alves, Lucas C. Cordeiro, Eddie B. de Lima Filho

TL;DR
This paper presents a novel approach for fault localization in multi-threaded C programs by transforming them into sequential programs and applying fault-diagnosis methods, leveraging bounded model checking to improve debugging efficiency.
Contribution
It introduces a new method that transforms multi-threaded programs into sequential ones for fault localization, extending existing techniques to handle concurrency.
Findings
Effective fault localization in multi-threaded programs
Code transformation leverages counterexamples from bounded model checkers
Sequential fault-localization methods can be adapted for multi-threaded contexts
Abstract
Software debugging is a very time-consuming process, which is even worse for multi-threaded programs, due to the non-deterministic behavior of thread-scheduling algorithms. However, the debugging time may be greatly reduced, if automatic methods are used for localizing faults. In this study, a new method for fault localization, in multi-threaded C programs, is proposed. It transforms a multi-threaded program into a corresponding sequential one and then uses a fault-diagnosis method suitable for this type of program, in order to localize faults. The code transformation is implemented with rules and context switch information from counterexamples, which are typically generated by bounded model checkers. Experimental results show that the proposed method is effective, in such a way that sequential fault-localization methods can be extended to multi-threaded programs.
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 · Software Reliability and Analysis Research
