Advertisement

On the Strength of Owicki-Gries for Resources

  • Alexander Malkis
  • Laurent Mauborgne
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7078)

Abstract

In multithreaded programs data are often separated into lock- protected resources. Properties of those resources are typically verified by modular, Owicki-Gries-like methods. The modularity of the Owicki-Gries method has its price: proving some properties may require manual introduction of auxiliary variables. What properties can be proven without the burden of introducing auxiliary variables? We answer this question in the abstract interpretation framework. On one hand, we reveal a lattice structure of the method and supply a syntax-based abstract transformer that describes the method exactly. On the other hand, we bound the loss of precision from above and below by transition-relation-independent weakly relational closures. On infinitely many programs the closures coincide and describe the precision loss exactly; in general, the bounds are strict. We prove the absence of a general exact closure-based fixpoint characterization of the accuracy of the Owicki-Gries method, both in the collecting semantics and in certain trace semantics.

Keywords

Consistent State Auxiliary Variable Syntactic Structure Proof System Critical Section 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Barthe, G., Hermenegildo, M. (eds.): VMCAI 2010. LNCS, vol. 5944. Springer, Heidelberg (2010)zbMATHGoogle Scholar
  2. 2.
    Calcagno, C., O’Hearn, P.W., Yang, H.: Local action and abstract separation logic. In: LICS, pp. 366–378. IEEE Computer Society (2007)Google Scholar
  3. 3.
    Clarke, E.M.: Synthesis of resource invariants for concurrent programs. ACM Trans. Program. Lang. Syst. 2(3), 338–358 (1980)CrossRefzbMATHGoogle Scholar
  4. 4.
    Cohen, A., Namjoshi, K.S.: Local Proofs for Global Safety Properties. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 55–67. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  5. 5.
    Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL, pp. 238–252 (1977)Google Scholar
  6. 6.
    Cousot, R.: Fondements des méthodes de preuve d’invariance et de fatalité de programmes parallèles. PhD thesis, Institut national polytechnique de Lorraine (1985)Google Scholar
  7. 7.
    Giacobazzi, R., Ranzato, F., Scozzari, F.: Making abstract interpretations complete. Journal of the ACM 47(2), 361–416 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Hoare, C.A.R.: Towards a theory of parallel programming. In: Hoare, C.A.R., Perrott, R.H. (eds.) Operating System Techniques, pp. 61–71. Academic Press (1972)Google Scholar
  9. 9.
    Lahiri, S.K., Malkis, A., Qadeer, S.: Abstract threads. In: Barthe and Hermenegildo [1], pp. 231–246Google Scholar
  10. 10.
    Leino, K.R.M.: Verifying concurrent programs with Chalice. In: Barthe and Hermenegildo [1], p. 2Google Scholar
  11. 11.
    Malkis, A.: Cartesian Abstraction and Verification of Multithreaded Programs. PhD thesis, Albert-Ludwigs-Universität Freiburg (February 2010)Google Scholar
  12. 12.
    Malkis, A., Mauborgne, L.: On the strength of Owicki-Gries for resources. Technical report, IMDEA Software Institute (2011), http://software.imdea.org/~alexmalkis/onTheStrengthOfOwickiGriesForResources_techrep.ps
  13. 13.
    Moskal, M., Schulte, W., Cohen, E., Hillebrand, M.A., Tobies, S.: Verifying C programs: A VCC tutorial, MSR Redmond, EMIC Aachen (2011)Google Scholar
  14. 14.
    O’Hearn, P.W.: Resources, concurrency, and local reasoning. Theor. Comput. Sci. 375(1-3), 271–307 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Owicki, S.S.: Axiomatic Proof Techniques For Parallel Programs. PhD thesis, Cornell University, Department of Computer Science, TR 75-251 (July 1975)Google Scholar
  16. 16.
    Owicki, S.S., Gries, D.: Verifying properties of parallel programs: an axiomatic approach. Commun. ACM 19(5), 279–285 (1976)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Alexander Malkis
    • 1
  • Laurent Mauborgne
    • 1
  1. 1.IMDEA Software InstituteSpain

Personalised recommendations