A Concurrent Constraint Programming Interpretation of Access Permissions
Carlos Olarte, Elaine Pimentel, Camilo Rueda

TL;DR
This paper introduces a declarative interpretation of Access Permissions in object-oriented programming as Linear Concurrent Constraint Programs, enabling formal verification of properties like deadlock detection and correctness using linear logic.
Contribution
It presents a novel formal model for Access Permissions as linear concurrent constraints, facilitating verification through logic-based methods and implementing a tool for practical analysis.
Findings
Effective verification of AP properties using linear logic
Implementation of the Alcove tool for simulation and proof
Demonstrated deadlock detection and correctness verification
Abstract
A recent trend in object oriented (OO) programming languages is the use of Access Permissions (APs) as an abstraction for controlling concurrent executions of programs. The use of AP source code annotations defines a protocol specifying how object references can access the mutable state of objects. Although the use of APs simplifies the task of writing concurrent code, an unsystematic use of them can lead to subtle problems. This paper presents a declarative interpretation of APs as Linear Concurrent Constraint Programs (lcc). We represent APs as constraints (i.e., formulas in logic) in an underlying constraint system whose entailment relation models the transformation rules of APs. Moreover, we use processes in lcc to model the dependencies imposed by APs, thus allowing the faithful representation of their flow in the program. We verify relevant properties about AP programs by taking…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
