Maximal Causal Models for Sequentially Consistent Systems

  • Traian Florin Şerbănuţă
  • Feng Chen
  • Grigore Roşu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7687)


This paper shows that it is possible to build a maximal and sound causal model for concurrent computations from a given execution trace. It is sound, in the sense that any program which can generate a trace can also generate all traces in its causal model. It is maximal (among sound models), in the sense that by extending the causal model of an observed trace with a new trace, the model becomes unsound: there exists a program generating the original trace which cannot generate the newly introduced trace. Thus, the maximal sound model has the property that it comprises all traces which all programs that can generate the original trace can also generate. The existence of such a model is of great theoretical value as it can be used to prove the soundness of non-maximal, and thus smaller, causal models.


Causal Model Execution Trace Consistent System Causal Property Sequential Consistency 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Attiya, H., Welch, J.L.: Sequential consistency versus linearizability. TOCS 12, 91–122 (1994)CrossRefGoogle Scholar
  2. 2.
    Banerjee, U., Bliss, B., Ma, Z., Petersen, P.: A theory of data race detection. In: PADTAD 2006, pp. 69–78. ACM, New York (2006)CrossRefGoogle Scholar
  3. 3.
    Chen, F., Roşu, G.: Parametric and Sliced Causality. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 240–253. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  4. 4.
    Farzan, A., Madhusudan, P.: Causal Atomicity. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 315–328. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Flanagan, C., Freund, S.N.: Atomizer: a dynamic atomicity checker for multithreaded programs. In: POPL 2004, pp. 256–267 (2004)Google Scholar
  6. 6.
    Ganai, M.K., Gupta, A.: Efficient Modeling of Concurrent Systems in BMC. In: Havelund, K., Majumdar, R. (eds.) SPIN 2008. LNCS, vol. 5156, pp. 114–133. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Helmbold, D.P., McDowell, C.E., Wang, J.Z.: Determining possible event orders by analyzing sequential traces. TPDS 4(7), 827–840 (1993)Google Scholar
  8. 8.
    Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. TOPLAS 12, 463–492 (1990)CrossRefGoogle Scholar
  9. 9.
    Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess progranm. IEEE Trans. Comput. 28(9), 690–691 (1979)zbMATHCrossRefGoogle Scholar
  10. 10.
    Mazurkiewicz, A.: Trace Theory. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) APN 1986. LNCS, vol. 255, pp. 279–324. Springer, Heidelberg (1987)Google Scholar
  11. 11.
    Naik, M., Aiken, A., Whaley, J.: Effective static race detection for Java. In: PLDI 2006, pp. 308–319 (2006)Google Scholar
  12. 12.
    O’Callahan, R., Choi, J.-D.: Hybrid dynamic data race detection. SIGPLAN Not. 38(10), 167–178 (2003)CrossRefGoogle Scholar
  13. 13.
    Said, M., Wang, C., Yang, Z., Sakallah, K.: Generating Data Race Witnesses by an SMT-Based Analysis. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 313–327. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  14. 14.
    Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: a dynamic data race detector for multithreaded programs. TOCS 15(4), 391–411 (1997)CrossRefGoogle Scholar
  15. 15.
    Schonberg, E.: On-the-fly detection of access anomalies. Best of PLDI 1979-1999 39, 313–327 (2004)Google Scholar
  16. 16.
    Sen, K., Roşu, G., Agha, G.: Detecting Errors in Multithreaded Programs by Generalized Predictive Analysis of Executions. In: Steffen, M., Zavattaro, G. (eds.) FMOODS 2005. LNCS, vol. 3535, pp. 211–226. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  17. 17.
    Şerbănuţă, T.F., Chen, F., Roşu, G.: Maximal causal models for sequentially consistent systems. Technical Report, University of Illinois at Urbana-Champaign (October 2011),
  18. 18.
    Sinha, A., Malik, S., Wang, C., Gupta, A.: Predictive analysis for detecting serializability violations through trace segmentation. In: MEMOCODE 2011 (2011)Google Scholar
  19. 19.
    Vaziri, M., Tip, F., Dolby, J.: Associating synchronization constraints with data in an object-oriented language. In: POPL 2006, pp. 334–345 (2006)Google Scholar
  20. 20.
    Wang, C., Kundu, S., Ganai, M., Gupta, A.: Symbolic Predictive Analysis for Concurrent Programs. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 256–272. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  21. 21.
    Wang, L., Stoller, S.D.: Accurate and efficient runtime detection of atomicity errors in concurrent programs. In: PPoPP 2006, pp. 137–146 (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Traian Florin Şerbănuţă
    • 1
    • 2
  • Feng Chen
    • 1
  • Grigore Roşu
    • 1
    • 2
  1. 1.University of Illinois at Urbana-ChampaignUSA
  2. 2.University “Alexandru Ioan Cuza” IaşiRomania

Personalised recommendations