A linear concurrent constraint approach for the automatic verification of access permissions - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Article Dans Une Revue Proceedings of the 14th symposium on Principles and practice of declarative programming Année : 2012

A linear concurrent constraint approach for the automatic verification of access permissions

Résumé

A recent trend in object oriented programming languages is the use Access Permissions (AP) as abstraction to control concurrent exe- cutions. AP define a protocol specifying how different references can access the mutable state of objects. Although AP simplify the task of writing concurrent code, an unsystematic use of permissions in the program can lead to subtle problems. This paper presents a Linear Concurrent Constraint (lcc) approach to verify AP an- notated programs. We model AP as constraints (i.e., formulas in logic) in an underlying constraint system, and we use entailment of constraints to faithfully model the flow of AP in the program. We verify relevant properties about programs by taking advantage of the declarative interpretation of lcc agents as formulas in lin- ear logic. Properties include deadlock detection, program correct- ness (whether programs adhere to their AP specifications or not), and the ability of methods to run concurrently. We show that those properties are decidable and we present a complexity analysis of finding such proofs. We implemented our verification and analysis approach as the Alcove tool, which is available on-line.
Fichier principal
Vignette du fichier
aeminium-ppdp-pp.pdf (322.17 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-00748141 , version 1 (04-11-2012)

Identifiants

Citer

Carlos Olarte, Camilo Rueda, Elaine Pimentel, Nestor Cataño. A linear concurrent constraint approach for the automatic verification of access permissions. Proceedings of the 14th symposium on Principles and practice of declarative programming, 2012, pp.207-216. ⟨10.1145/2370776.2370802⟩. ⟨hal-00748141⟩
67 Consultations
156 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More