Concurrent programming: principles and practice
Concurrent programming: principles and practice
Concurrent Programming Concepts
ACM Computing Surveys (CSUR)
Proving Liveness Properties of Concurrent Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verifying properties of parallel programs: an axiomatic approach
Communications of the ACM
Monitors: an operating system structuring concept
Communications of the ACM
Communications of the ACM
The structure of the “THE”-multiprogramming system
Communications of the ACM
BI as an assertion language for mutable data structures
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Operating system principles
Ownership types for safe programming: preventing data races and deadlocks
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Traces, Pomsets, Fairness and Full Abstraction for Communicating Processes
CONCUR '02 Proceedings of the 13th International Conference on Concurrency Theory
On the Semantics of Fair Parallelism
Proceedings of the Abstract Software Specifications, 1979 Copenhagen Winter School
Information and Computation
Correctness in operating systems
Correctness in operating systems
Local reasoning about a copying garbage collector
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Separation and information hiding
Proceedings of the 31st 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
Resources, concurrency, and local reasoning
Theoretical Computer Science
Proofs of Networks of Processes
IEEE Transactions on Software Engineering
Checking interference with fractional permissions
SAS'03 Proceedings of the 10th international conference on Static analysis
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
Parallel programming: An axiomatic approach
Computer Languages
Resources, concurrency, and local reasoning
Theoretical Computer Science
Separation Logic Semantics for Communicating Processes
Electronic Notes in Theoretical Computer Science (ENTCS)
On Validity of Program Transformations in the Java Memory Model
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Higher-Order Separation Logic in Isabelle/HOLCF
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Local rely-guarantee reasoning
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Separation and information hiding
ACM Transactions on Programming Languages and Systems (TOPLAS)
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
Aliasing, Confinement, and Ownership in Object-Oriented Programming
Object-Oriented Technology. ECOOP 2008 Workshop Reader
Assume-Guarantee Verification of Concurrent Systems
COORDINATION '09 Proceedings of the 11th International Conference on Coordination Models and Languages
A Formalisation of Smallfoot in HOL
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
A Graph-Based Operational Semantics of OO Programs
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
The Dual Spatial Connectives of Separation Logic
KSEM '09 Proceedings of the 3rd International Conference on Knowledge Science, Engineering and Management
Proving Copyless Message Passing
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Toward a verified relational database management system
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Semantics of fractional permissions with nesting
ACM Transactions on Programming Languages and Systems (TOPLAS)
Local reasoning for storable locks and threads
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Fairness, Resources, and Separation
Electronic Notes in Theoretical Computer Science (ENTCS)
Task types for pervasive atomicity
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Reasoning about the implementation of concurrency abstractions on x86-TSO
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Trace-based verification of imperative programs with I/O
Journal of Symbolic Computation
Granularity and concurrent separation logic
CONCUR'11 Proceedings of the 22nd international conference on Concurrency theory
On locality and the exchange law for concurrent processes
CONCUR'11 Proceedings of the 22nd international conference on Concurrency theory
Precision and the Conjunction Rule in Concurrent Separation Logic
Electronic Notes in Theoretical Computer Science (ENTCS)
A Resource Analysis of the π-calculus
Electronic Notes in Theoretical Computer Science (ENTCS)
Concurrent Separation Logic and Operational Semantics
Electronic Notes in Theoretical Computer Science (ENTCS)
Smallfoot: modular automatic assertion checking with separation logic
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Syntactic control of interference for separation logic
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
Algebra, logic, locality, concurrency
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
Algebra, logic, locality, concurrency
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
FOSSACS'12 Proceedings of the 15th international conference on Foundations of Software Science and Computational Structures
Reverse exchange for concurrency and local reasoning
MPC'12 Proceedings of the 11th international conference on Mathematics of Program Construction
Net models for concurrent object behaviour
PETRI NETS'12 Proceedings of the 33rd international conference on Application and Theory of Petri Nets
Syntactic Control of Interference and Concurrent Separation Logic
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Abstraction as a unifying link for formal approaches to concurrency
SEFM'12 Proceedings of the 10th international conference on Software Engineering and Formal Methods
Subjective auxiliary state for coarse-grained concurrency
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automata-Theoretic Semantics of Idealized Algol with Passive Expressions
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 5.23 |
We present a trace semantics for a language of parallel programs which share access to mutable data. We introduce a resource-sensitive logic for partial correctness, based on a recent proposal of O'Hearn, adapting separation logic to the concurrent setting. The logic allows proofs of parallel programs in which ''ownership'' of critical data, such as the right to access, update or deallocate a pointer, is transferred dynamically between concurrent processes. We prove soundness of the logic, using a novel ''local'' interpretation of traces which allows accurate reasoning about ownership. We show that every provable program is race-free.