LOSESep 8, 2015

Fault Localization in Multi-Threaded C Programs using Bounded Model Checking (extended version)

arXiv:1509.02490v17 citations
Originality Synthesis-oriented
AI Analysis

This addresses debugging challenges for multi-threaded software developers, but it is incremental as it builds on existing sequential fault-localization techniques.

The paper tackles fault localization in multi-threaded C programs by transforming them into sequential ones and applying existing fault-diagnosis methods, showing effectiveness in extending sequential methods to multi-threaded contexts.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes