BI as an assertion language for mutable data structures
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Transition predicate abstraction and fair termination
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Permission accounting in separation logic
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modular verification of concurrent assembly code with dynamic thread creation and termination
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Proving correctness of highly-concurrent linearisable objects
Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Variables as Resource in Hoare Logics
LICS '06 Proceedings of the 21st Annual IEEE Symposium on Logic in Computer Science
A semantics for concurrent separation logic
Theoretical Computer Science
Resources, concurrency, and local reasoning
Theoretical Computer Science
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Local Action and Abstract Separation Logic
LICS '07 Proceedings of the 22nd Annual IEEE Symposium on Logic in Computer Science
On the relationship between concurrent separation logic and assume-guarantee reasoning
ESOP'07 Proceedings of the 16th European conference on Programming
A marriage of rely/guarantee and separation logic
CONCUR'07 Proceedings of the 18th international conference on Concurrency Theory
Certifying low-level programs with hardware interrupts and preemptive threads
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
VeriCool: An Automatic Verifier for a Concurrent Object-Oriented Language
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Separation Logic Contracts for a Java-Like Language with Fork/Join
AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
Multimodal Separation Logic for Reasoning About Operational Semantics
Electronic Notes in Theoretical Computer Science (ENTCS)
Reasoning about Java's Reentrant Locks
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
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 Basis for Verifying Multi-threaded Programs
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
Certifying Low-Level Programs with Hardware Interrupts and Preemptive Threads
Journal of Automated Reasoning
Implicit Dynamic Frames: Combining Dynamic Frames and Separation Logic
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Automatic Parallelization and Optimization of Programs by Proof Rewriting
SAS '09 Proceedings of the 16th International Symposium on Static Analysis
Proving Copyless Message Passing
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
A theory of indirection via approximation
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verifying safety properties of concurrent heap-manipulating programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
The category-theoretic solution of recursive metric-space equations
Theoretical Computer Science
Concurrent separation logic for pipelined parallelization
SAS'10 Proceedings of the 17th international conference on Static analysis
Concurrent abstract predicates
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
The next 700 separation logics
VSTTE'10 Proceedings of the Third international conference on Verified software: theories, tools, experiments
Modular reasoning for deterministic parallelism
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Expressive modular fine-grained concurrency specification
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Barriers in concurrent separation logic
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Annotation inference for separation logic based verifiers
FMOODS'11/FORTE'11 Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
Modular verification of preemptive OS kernels
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Step-Indexed Kripke Model of Separation Logic for Storable Locks
Electronic Notes in Theoretical Computer Science (ENTCS)
Concurrent Separation Logic and Operational Semantics
Electronic Notes in Theoretical Computer Science (ENTCS)
The marriage of bisimulations and Kripke logical relations
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Resource-sensitive synchronization inference by abduction
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parameterized memory models and concurrent separation logic
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Deadlock-Free channels and locks
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Reasoning about lock placements
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Sound formal verification of linux's USB BP keyboard driver
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
Variable permissions for concurrency verification
ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
Ribbon proofs for separation logic
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Proof-Directed Parallelization Synthesis by Separation Logic
ACM Transactions on Programming Languages and Systems (TOPLAS)
Joins: a case study in modular specification of a concurrent reentrant higher-order library
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Aliasing in Object-Oriented Programming
Software verification with VeriFast: Industrial case studies
Science of Computer Programming
Hi-index | 0.00 |
We present a resource oriented program logic that is able to reason about concurrent heap-manipulating programs with unbounded numbers of dynamically-allocated locks and threads. The logic is inspired by concurrent separation logic, but handles these more realistic concurrency primitives. We demonstrate that the proposed logic allows local reasoning about programs for which there exists a notion of dynamic ownership of heap parts by locks and threads.