Executing temporal logic programs
Executing temporal logic programs
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects
IEEE Transactions on Parallel and Distributed Systems
Modular verification of a non-blocking stack
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Interactive verification of concurrent systems using symbolic execution
AI Communications - Practical Aspects of Automated Reasoning
Temporal logic verification of lock-freedom
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Reasoning about optimistic concurrency using a program logic for history
CONCUR'10 Proceedings of the 21st international conference on Concurrency theory
Verifying linearisability with potential linearisation points
FM'11 Proceedings of the 17th international conference on Formal methods
Interleaved Programs and Rely-Guarantee Reasoning with ITL
TIME '11 Proceedings of the 2011 Eighteenth International Symposium on Temporal Representation and Reasoning
Concurrency Verification: Introduction to Compositional and Non-compositional Methods
Concurrency Verification: Introduction to Compositional and Non-compositional Methods
How to prove algorithms linearisable
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Verifying concurrent memory reclamation algorithms with grace
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Hi-index | 0.00 |
A significant problem of lock-free concurrent data structures in an environment without garbage collection is to ensure safe memory reclamation of objects that are removed from the data structure. An elegant solution to this problem is Michael's hazard pointers method. The formal verification of concurrent algorithms with hazard pointers is yet challenging. This work presents a mechanized proof of the major correctness and progress aspects of a lock-free stack with hazard pointers.