z-logo
Premium
CoopREP: Cooperative record and replay of concurrency bugs
Author(s) -
Machado Nuno,
Romano Paolo,
Rodrigues Luís
Publication year - 2018
Publication title -
software testing, verification and reliability
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.216
H-Index - 49
eISSN - 1099-1689
pISSN - 0960-0833
DOI - 10.1002/stvr.1645
Subject(s) - computer science , concurrency , overhead (engineering) , code (set theory) , replication (statistics) , distributed computing , fault tolerance , embedded system , operating system , programming language , set (abstract data type) , statistics , mathematics
Summary This paper presents CoopREP, a system that provides support for fault replication of concurrent programs based on cooperative recording and partial log combination. CoopREP uses partial logging to reduce the amount of information that a given program instance is required to store to support deterministic replay. This allows reducing substantially the overhead imposed by the instrumentation of the code, but raises the problem of finding a combination of logs capable of replaying the fault. CoopREP tackles this issue by introducing several innovative statistical analysis techniques aimed at guiding the search of the partial logs to be combined and needed for the replay phase. CoopREP has been evaluated using both standard benchmarks for multithreaded applications and real‐world applications. The results highlight that CoopREP can successfully replay concurrency bugs involving tens of thousands of memory accesses, while reducing recording overhead with respect to state‐of‐the‐art noncooperative logging schemes by up to 13× (and by 2.4× on average).

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here