• DocumentCode
    2550093
  • Title

    Predictive analysis for detecting serializability violations through Trace Segmentation

  • Author

    Sinha, Arnab ; Malik, Sharad ; Wang, Chao ; Gupta, Aarti

  • fYear
    2011
  • fDate
    11-13 July 2011
  • Firstpage
    99
  • Lastpage
    108
  • Abstract
    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.
  • Keywords
    C++ language; Java; concurrency control; Java; almost view-preserving interleavings; concurrent program; dynamic partial order reduction; graph-based method; predictive analysis; serializability violation detection; trace atomicity segmentation; Image edge detection; Indexes; Instruction sets; Java; Predictive models; Synchronization; Systematics;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Formal Methods and Models for Codesign (MEMOCODE), 2011 9th IEEE/ACM International Conference on
  • Conference_Location
    Cambridge
  • Print_ISBN
    978-1-4577-0117-7
  • Electronic_ISBN
    978-1-4577-0118-4
  • Type

    conf

  • DOI
    10.1109/MEMCOD.2011.5970516
  • Filename
    5970516