TY - GEN
T1 - Predictive analysis for detecting serializability violations through Trace Segmentation
AU - Sinha, Arnab
AU - Malik, Sharad
AU - Wang, Chao
AU - Gupta, Aarti
PY - 2011
Y1 - 2011
N2 - We address the problem of detecting serializability violations in a concurrent program using predictive analysis, where a violation is detected either in an observed trace or in an alternate interleaving of events in that trace. Under the widely used notion of conflict-serializability, checking whether a given execution is serializable can be done in polynomial time. However, when all possible interleavings are considered, the problem becomes intractable. We address this in practice through a graph-based method, which for a given atomic block and trace, derives a smaller segment of the trace, referred to as the Trace Atomicity Segment (TAS), for further systematic exploration. We use the observed write-read pairs of events in the given trace to consider a set of events that guarantee feasibility, i.e., each interleaving of these events corresponds to some real execution of the program. We call this set of interleavings the almost view-preserving (AVP) interleavings. We show that the TAS is sufficient for finding serializability violations among all AVP interleavings. Further, the TAS enables a simple static check that can prove the absence of a violation. This check often succeeds in practice. If it fails, we perform a systematic exploration over events in the TAS, where we use dynamic partial order reduction with additional pruning to reduce the number of interleavings considered. Unlike previous efforts that are less precise, when our method reports a serializability violation, the reported interleaving is guaranteed to correspond to an actual execution of the program. We report experimental results that demonstrate the effectiveness of our method in detecting serializability violations for Java and C/C benchmark programs.
AB - We address the problem of detecting serializability violations in a concurrent program using predictive analysis, where a violation is detected either in an observed trace or in an alternate interleaving of events in that trace. Under the widely used notion of conflict-serializability, checking whether a given execution is serializable can be done in polynomial time. However, when all possible interleavings are considered, the problem becomes intractable. We address this in practice through a graph-based method, which for a given atomic block and trace, derives a smaller segment of the trace, referred to as the Trace Atomicity Segment (TAS), for further systematic exploration. We use the observed write-read pairs of events in the given trace to consider a set of events that guarantee feasibility, i.e., each interleaving of these events corresponds to some real execution of the program. We call this set of interleavings the almost view-preserving (AVP) interleavings. We show that the TAS is sufficient for finding serializability violations among all AVP interleavings. Further, the TAS enables a simple static check that can prove the absence of a violation. This check often succeeds in practice. If it fails, we perform a systematic exploration over events in the TAS, where we use dynamic partial order reduction with additional pruning to reduce the number of interleavings considered. Unlike previous efforts that are less precise, when our method reports a serializability violation, the reported interleaving is guaranteed to correspond to an actual execution of the program. We report experimental results that demonstrate the effectiveness of our method in detecting serializability violations for Java and C/C benchmark programs.
UR - http://www.scopus.com/inward/record.url?scp=80052128835&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=80052128835&partnerID=8YFLogxK
U2 - 10.1109/MEMCOD.2011.5970516
DO - 10.1109/MEMCOD.2011.5970516
M3 - Conference contribution
AN - SCOPUS:80052128835
SN - 9781457701160
T3 - 9th ACM/IEEE International Conference on Formal Methods and Models for Codesign, MEMOCODE 2011
SP - 99
EP - 108
BT - 9th ACM/IEEE International Conference on Formal Methods and Models for Codesign, MEMOCODE 2011
T2 - 9th ACM/IEEE International Conference on Formal Methods and Models for Codesign, MEMOCODE 2011
Y2 - 11 July 2011 through 13 July 2011
ER -