Home | english  | Impressum | Sitemap | KIT

Interleaving Generation for Data Race and Deadlock Reproduction

Interleaving Generation for Data Race and Deadlock Reproduction
Tagung:

Konferenzartikel 

Jahr:

2015 

Autoren:

Luis M. Carril
Walter F. Tichy

Links:PDF

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.

Beteiligte Mitarbeiter (zufällige Reihenfolge)
Titel Vorname Nachname

Projekte
Titel


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},