Skip lists: a probabilistic alternative to balanced trees
Communications of the ACM
Temporal verification of reactive systems: safety
Temporal verification of reactive systems: safety
Data groups: specifying the modification of extended state
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Reasoning About Recursively Defined Data Structures
Journal of the ACM (JACM)
Simplification by Cooperating Decision Procedures
ACM Transactions on Programming Languages and Systems (TOPLAS)
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Generalized Temporal Verification Diagrams
Proceedings of the 15th Conference on Foundations of Software Technology and Theoretical Computer Science
A rewriting approach to satisfiability procedures
Information and Computation - RTA 2001
Diagram-based verification of discrete, real-time and hybrid systems
Diagram-based verification of discrete, real-time and hybrid systems
A Theory of Singly-Linked Lists and its Extensible Decision Procedure
SEFM '06 Proceedings of the Fourth IEEE International Conference on Software Engineering and Formal Methods
Back to the future: revisiting precise program verification using SMT solvers
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Regional Logic for Local Reasoning about Global Invariants
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
A Logic-Based Framework for Reasoning about Composite Data Structures
CONCUR 2009 Proceedings of the 20th International Conference on Concurrency Theory
Decision procedures for algebraic data types with abstractions
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Art of Multiprocessor Programming
The Art of Multiprocessor Programming
Oracle semantics for concurrent separation logic
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Decision procedures for the temporal verification of concurrent lists
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
A logic of reachable patterns in linked data-structures
FOSSACS'06 Proceedings of the 9th European joint conference on Foundations of Software Science and Computation Structures
Combining data structures with nonstably infinite theories using many-sorted logic
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
An algorithm for deciding BAPA: boolean algebra with presburger arithmetic
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
Hi-index | 0.00 |
This paper presents a theory of skiplists with a decidable satisfiability problem, and shows its applications to the verification of concurrent skiplist implementations. A skiplist is a data structure used to implement sets by maintaining several ordered singly-linked lists in memory, with a performance comparable to balanced binary trees. We define a theory capable of expressing the memory layout of a skiplist and show a decision procedure for the satisfiability problem of this theory. We illustrate the application of our decision procedure to the temporal verification of an implementation of concurrent lock-coupling skiplists. Concurrent lock-coupling skiplists are a particular version of skiplists where every node contains a lock at each possible level, reducing granularity of mutual exclusion sections. The first contribution of this paper is the theory TSLK. TSLK is a decidable theory capable of reasoning about list reachability, locks, ordered lists, and sublists of ordered lists. The second contribution is a proof that TSLK enjoys a finite model property and thus it is decidable. Finally, we show how to reduce the satisfiability problem of quantifier-free TSLK formulas to a combination of theories for which a many-sorted version of Nelson-Oppen can be applied.