Certifying concurrent programs using transactional memory

  • Authors:
  • Long Li;Yu Zhang;Yi-Yun Chen;Yong Li

  • Affiliations:
  • Department of Computer Science and Technology, University of Science and Technology of China, Hefei, China and Software Security Laboratory, Suzhou Institute for Advanced Study, University of Scie ...;Department of Computer Science and Technology, University of Science and Technology of China, Hefei, China and Software Security Laboratory, Suzhou Institute for Advanced Study, University of Scie ...;Department of Computer Science and Technology, University of Science and Technology of China, Hefei, China and Software Security Laboratory, Suzhou Institute for Advanced Study, University of Scie ...;Department of Computer Science and Technology, University of Science and Technology of China, Hefei, China and Software Security Laboratory, Suzhou Institute for Advanced Study, University of Scie ...

  • Venue:
  • Journal of Computer Science and Technology
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Transactional memory (TM) is a new promising concurrency-control mechanism that can avoid many of the pitfalls of the traditional lock-based techniques. TM systems handle data races between threads automatically so that programmers do not have to reason about the interaction of threads manually. TM provides a programming model that may make the development of multi-threaded programs easier. Much work has been done to explore the various implementation strategies of TM systems and to achieve better performance, but little has been done on how to formally reason about programs using TM and how to make sure that such reasoning is sound. In this paper, we focus on the semantics of transactional memory and present a proof-carrying code (PCC) system for reasoning about programs using TM. We formalize our reasoning with respect to the TM semantics, prove its soundness, and use examples to demonstrate its effectiveness.