A method to localize faults in concurrent C programs

Erickson H. Da S. Alves, Lucas C. Cordeiro, Eddie B. De L. Filho

Research output: Contribution to journalArticlepeer-review

113 Downloads (Pure)


We describe a new approach to localize faults in concurrent programs, which is based on bounded model checking and sequentialization techniques. The main novelty is the idea of reproducing a faulty behavior, in a sequential version of a concurrent program. In order to pinpoint faulty lines, we analyze counterexamples generated by a model checker, to the new instrumented sequential program, and search for a diagnostic value, which corresponds to actual lines in a program. This approach is useful to improve debugging processes for concurrent programs, since it tells which line should be corrected and what values lead to a successful execution. We implemented this approach as a code-to-code transformation from concurrent into non-deterministic sequential programs, which are used as inputs to existing verification tools. Experimental results show that our approach is effective and capable of identifying faults in our benchmark set, which was extracted from the SV-COMP 2016 suite.
Original languageEnglish
Pages (from-to)336-352
JournalThe Journal of Systems and Software
Early online date15 Mar 2017
Publication statusPublished - 1 Oct 2017


Dive into the research topics of 'A method to localize faults in concurrent C programs'. Together they form a unique fingerprint.

Cite this