A syntactic approach to type soundness
Information and Computation
A critique of ANSI SQL isolation levels
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
Reduction: a method of proving properties of parallel programs
Communications of the ACM
Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery
Software transactional memory for dynamic-sized data structures
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Composable memory transactions
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
A transactional object calculus
Science of Computer Programming
McRT-STM: a high performance software transactional memory system for a multi-core runtime
Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming
High-level small-step operational semantics for transactions
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantics of transactional memory and automatic mutual exclusion
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On the correctness of transactional memory
Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Towards Formally Specifying and Verifying Transactional Memory
Electronic Notes in Theoretical Computer Science (ENTCS)
DISC'06 Proceedings of the 20th international conference on Distributed Computing
A programming language perspective on transactional memory consistency
Proceedings of the 2013 ACM symposium on Principles of distributed computing
Correctness of an STM Haskell implementation
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
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 nondeterministic 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, nondeterminism, and modeling rollback. We prove that this algorithm is correct by showing that it implements opacity.