IPD - Lehrstuhl Tichy - Programmiersysteme

Interleaving Generation for Data Race and Deadlock Reproduction

  • Tagung:

    Konferenzartikel 

  • Autoren:

    Luis M. Carril
    Walter F. Tichy

  • Summary

    Concurrency errors, like data races and deadlocks, are difficult to find due to the large number of possible interleavings in a parallel program. Dynamic tools analyze a single observed execution of a program, and even with multiple executions they can not reveal possible errors in other reorderings. This work takes a single program observation and produces a set of alternative orderings of the synchronization primitives that lead to a concurrency error. The new reorderings are enforced under a happens-before detector to discard reordering that are infeasible or do not produce any error report. We evaluate our approach against multiple repetitions of a state of the art happens-before detector. The results show that through interleaving inference more errors are found and the counterexamples enable easier reproducibility by the developer.

  • Jahr:

    2015 

  • Links:

Bibtex

@inproceedings{Carril2015b,
author={Luis M. Carril and Walter F. Tichy},
title={Interleaving Generation for Data Race and Deadlock Reproduction},
year=2015,
month=10,
booktitle={Proceedings of the 2nd International Workshop on Software Engineering for Parallel Systems, SEPS 2015},
publisher={ACM New York, NY, USA ©2015},
url={https://ps.ipd.kit.edu/downloads/},
isbn={978-1-4503-3910-0},
url={https://ps.ipd.kit.edu/downloads/},
doi={10.1145/2837476.2837480},
abstract={Concurrency errors, like data races and deadlocks, are difficult to find due to the large number of possible interleavings in a parallel program. Dynamic tools analyze a single observed execution of a program, and even with multiple executions they can not reveal possible errors in other reorderings. This work takes a single program observation and produces a set
of alternative orderings of the synchronization primitives that lead to a concurrency error. The new reorderings are enforced under a happens-before detector to discard reorderings that
are infeasible or do not produce any error report. We evaluate our approach against multiple repetitions of a state of the art happens-before detector. The results show that through
interleaving inference more errors are found and the counterexamples enable easier reproducibility by the developer.},
pages={26-34},