The existence of refinement mappings
Theoretical Computer Science
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Verification by augmented finitary abstraction
Information and Computation
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
CONCUR '02 Proceedings of the 13th International Conference on Concurrency Theory
Transactional Memory Coherence and Consistency
Proceedings of the 31st annual international symposium on Computer architecture
Verifying Correctness of Transactional Memories
FMCAD '07 Proceedings of the Formal Methods in Computer Aided Design
Software Transactional Memory on Relaxed Memory Models
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Towards Formally Specifying and Verifying Transactional Memory
Electronic Notes in Theoretical Computer Science (ENTCS)
Runtime verification for software transactional memories
RV'10 Proceedings of the First international conference on Runtime verification
Verification of STM on relaxed memory models
Formal Methods in System Design
A framework for formally verifying software transactional memory algorithms
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Hi-index | 0.00 |
Transactional memoryis 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 tccimplementation that includes non-transactional memory accesses. The verification is performed by the deductive temporal checker tlpvs.