Proving Isolation Properties for Software Transactional Memory

  • Annette Bieniusa
  • Peter Thiemann
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6602)


An algorithm for Software Transactional Memory (STM) is correct if it guarantees a proclaimed degree of isolation between concurrently executing transactions. A correctness proof requires explicit modeling of the effects of transaction bodies and the non-deterministic scheduling of their operations.

We provide a formalization of an STM algorithm that is explicit about all aspects required for a correctness proof: effects of operations, non-determinism, and modeling rollback. We prove that this algorithm is correct by showing that it implements opacity.


Operational Semantic Read Operation Execution Trace Correctness Proof Transactional Memory 
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.


  1. 1.
    Abadi, M., Birrell, A., Harris, T., Isard, M.: Semantics of transactional memory and automatic mutual exclusion. In: POPL 2008: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 63–74. ACM, New York (2008)Google Scholar
  2. 2.
    Berenson, H., Bernstein, P., Gray, J., Melton, J., O’Neil, E., O’Neil, P.: A critique of ansi sql isolation levels. In: SIGMOD 1995: Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data, pp. 1–10. ACM, New York (1995)CrossRefGoogle Scholar
  3. 3.
    Bieniusa, A., Middelkoop, A., Thiemann, P.: Brief announcement: Actions in the twilight - concurrent irrevocable transactions and inconsistency repair. In: Richa, A.W., Guerraoui, R. (eds.) PODC, pp. 71–72. ACM, New York (2010)Google Scholar
  4. 4.
    Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Doherty, S., Groves, L., Luchangco, V., Moir, M.: Towards formally specifying and verifying transactional memory. In: Proceedings of the RefineNet Workshop 2009 (REFINE 2009). Electronic Notes in Theoretical Computer Science (2009)Google Scholar
  6. 6.
    Guerraoui, R., Henzinger, T.A., Kapalka, M., Singh, V.: Transactions in the jungle. In: auf der Heide, F.M., Phillips, C.A. (eds.) SPAA, pp. 263–272. ACM, New York (2010)Google Scholar
  7. 7.
    Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: Chatterjee, S., Scott, M.L. (eds.) PPOPP, pp. 175–184. ACM, New York (2008)CrossRefGoogle Scholar
  8. 8.
    Harris, T., Marlow, S., Jones, S.P., Herlihy, M.: Composable memory transactions. In: Sixteenth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Chicago, IL, USA, pp. 48–60. ACM Press, New York (2005)Google Scholar
  9. 9.
    Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: PODC 2003: Proceedings of the Twentysecond Annual Symposium on Principles of Distributed Computing, Boston, Massachusetts, pp. 92–101. ACM Press, New York (2003)Google Scholar
  10. 10.
    Jagannathan, S., Vitek, J., Welc, A., Hosking, A.: A transactional object calculus. Sci. Comput. Program 57(2), 164–186 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Lipton, R.J.: Reduction: A method of proving properties of parallel programs. Commun. ACM 18(12), 717–721 (1975)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Moore, K.F., Grossman, D.: High-level small-step operational semantics for transactions. In: POPL 2008: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pp. 51–62. ACM, New York (2008)Google Scholar
  13. 13.
    Saha, B., Adl-Tabatabai, A.-R., Hudson, R.L., Minh, C.C., Hertzberg, B.: McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: PPoPP 2006: Proceedings of the 11th ACM SIGPLAN symposium on Principles and practice of parallel programming, New York, NY, USA, pp. 187–197 (2006)Google Scholar
  14. 14.
    Weikum, G., Vossen, G.: Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery. Morgan Kaufmann Publishers Inc., San Francisco (2001)Google Scholar
  15. 15.
    Wright, A., Felleisen, M.: A syntactic approach to type soundness. Information and Computation 115(1), 38–94 (1994)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Annette Bieniusa
    • 1
  • Peter Thiemann
    • 1
  1. 1.University of FreiburgGermany

Personalised recommendations