Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
Prespecification in data refinement
Information Processing Letters
Abstract types have existential type
ACM Transactions on Programming Languages and Systems (TOPLAS)
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Handbook of logic in computer science (vol. 4)
The serializability of concurrent database updates
Journal of the ACM (JACM)
Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery
Representation independence, confinement and access control [extended abstract]
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
ESOP '86 Proceedings of the European Symposium on Programming
Traces, Histories, Graphs: Instances of a Process Monoid
Proceedings of the Mathematical Foundations of Computer Science 1984
A Logic for Parametric Polymorphism
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
The Pomset Model of Parallel Processes: Unifying the Temporal and the Spatial
Seminar on Concurrency, Carnegie-Mellon University
Modelling Concurrent Accesses to Shared Data via Petri Nets
PROCOMET '94 Proceedings of the IFIP TC2/WG2.1/WG2.2/WG2.3 Working Conference on Programming Concepts, Methods and Calculi
A unified theory of shared memory consistency
Journal of the ACM (JACM)
Distributed Computing - Special issue: Verification of lazy caching
Proving refinement using transduction
Distributed Computing - Special issue: Verification of lazy caching
A fully abstract may testing semantics for concurrent objects
Theoretical Computer Science
How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs
IEEE Transactions on Computers
Abstraction for Concurrent Objects
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
A Grainless Semantics for Parallel Programs with Shared Mutable Data
Electronic Notes in Theoretical Computer Science (ENTCS)
The Art of Multiprocessor Programming
The Art of Multiprocessor Programming
Toward a grainless semantics for shared-variable concurrency
FSTTCS'04 Proceedings of the 24th international conference on Foundations of Software Technology and Theoretical Computer Science
Verifying linearisability with potential linearisation points
FM'11 Proceedings of the 17th international conference on Formal methods
Verifying backwards compatibility of object-oriented libraries using Boogie
Proceedings of the 14th Workshop on Formal Techniques for Java-like Programs
How to prove algorithms linearisable
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Logical relations for fine-grained concurrency
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Quarantining weakness: compositional reasoning under relaxed memory models
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Modular verification of linearizability with non-fixed linearization points
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Local Reasoning for Global Invariants, Part II: Dynamic Boundaries
Journal of the ACM (JACM)
Unifying refinement and hoare-style reasoning in a logic for higher-order concurrency
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Characterizing progress properties of concurrent objects via contextual refinements
CONCUR'13 Proceedings of the 24th international conference on Concurrency Theory
Rely-Guarantee-Based Simulation for Compositional Verification of Concurrent Program Transformations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 5.23 |
Concurrent data structures are usually designed to satisfy correctness conditions such as sequential consistency or linearizability. In this paper, we consider the following fundamental question: What guarantees are provided by these conditions for client programs? We formally show that these conditions can be characterized in terms of observational refinement. Our study also provides a new understanding of sequential consistency and linearizability in terms of abstraction of dependency between computation steps of client programs.