kirancodes.me
To Proof Maintenance & Beyond!

Falcon: fault localization in concurrent programs

Sangmin Park, Richard W. Vuduc, Mary Jean Harrold

Abstract

Concurrency fault are difficult to find because they usually occur under specific thread interleavings. Fault-detection tools in this area find data-access patterns among thread interleavings, but they report benign patterns as well as actual faulty patterns. Traditional fault-localization techniques have been successful in identifying faults in sequential, deterministic programs, but they cannot detect faulty data-access patterns among threads. This paper presents a new dynamic fault-localization technique that can pinpoint faulty data-access patterns in multi-threaded concurrent programs. The technique monitors memory-access sequences among threads, detects data-access patterns associated with a program's pass/fail results, and reports dataaccess patterns with suspiciousness scores. The paper also presents the description of a prototype implementation of the technique in Java, and the results of an empirical study we performed with the prototype on several Java benchmarks. The empirical study shows that the technique can effectively and efficiently localize the faults for our subjects.

BibTeX
@inproceedings{Park-al:ICSE10,
  author    = {Sangmin Park and
               Richard W. Vuduc and
               Mary Jean Harrold},
  title     = {Falcon: fault localization in concurrent programs},
  booktitle = {ICSE (Part I)},
  pages     = {245--254},
  publisher = {{ACM}},
  year      = {2010},
}

Related papers