Mechanical Verification of Transactional Memories with Non-transactional Memory Accesses

  • Ariel Cohen
  • Amir Pnueli
  • Lenore D. Zuck
Conference paper

DOI: 10.1007/978-3-540-70545-1_13

Part of the Lecture Notes in Computer Science book series (LNCS, volume 5123)
Cite this paper as:
Cohen A., Pnueli A., Zuck L.D. (2008) Mechanical Verification of Transactional Memories with Non-transactional Memory Accesses. In: Gupta A., Malik S. (eds) Computer Aided Verification. CAV 2008. Lecture Notes in Computer Science, vol 5123. Springer, Berlin, Heidelberg

Abstract

Transactional memory is a programming abstraction intended to simplify the synchronization of conflicting memory accesses (by concurrent threads) without the difficulties associated with locks. In a previous work we presented a formal framework for proving that a transactional memory implementation satisfies its specifications and provided with model checking verification of some using small instantiations. This paper extends the previous work to capture non-transactional accesses to memory, which occurs, for example, when using legacy code. We provide a mechanical proof of the soundness of the verification method, as well as a mechanical verification of a version of the popular tcc implementation that includes non-transactional memory accesses. The verification is performed by the deductive temporal checker tlpvs.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Ariel Cohen
    • 1
  • Amir Pnueli
    • 1
  • Lenore D. Zuck
    • 2
  1. 1.New York University 
  2. 2.University of Illinois at Chicago 

Personalised recommendations