Siaam : Simple Isolation for an Actor-based Abstract Machine / Quentin Sabah ; sous la direction de Jean-Bernard Stefani

Date :

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : anglais / English

Programmation dynamique

Classification Dewey : 004

Stefani, Jean-Bernard (19..-....) (Directeur de thèse / thesis advisor)

Jensen, Thomas (1965-.... ; chercheur en informatique) (Membre du jury / opponent)

Thomas, Gaël (1976-.... ; enseignant-chercheur en informatique) (Membre du jury / opponent)

Ducasse, Stéphane (19..-....) (Membre du jury / opponent)

Haugou, Germain (19..-....) (Membre du jury / opponent)

Université de Grenoble (2009-2014) (Organisme de soutenance / degree-grantor)

École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 199.-....) (Ecole doctorale associée à la thèse / doctoral school)

Institut national de recherche en informatique et en automatique (France). Centre de recherche de l'université Grenoble Alpes (Laboratoire associé à la thèse / thesis associated laboratory)

Résumé / Abstract : Dans cette thèse nous étudions l’isolation mémoire et les mesures de communications efficaces par passage de message dans le contexte des environnements à mémoire partagée et la programmation orientée-objets. L’état de l’art en la matière se base presque exclusivement sur deux techniques complémentaires dites de propriété des objets (ownership) et d’unicité de références (reference uniqueness) afin d’adresser les problèmes de sécurité dans les programmes concurrents. Il est frappant de constater que la grande majorité des travaux existants emploient des méthodes de vérification statique des programmes, qui requirent soit un effort d’annotations soit l’introduction de fortes contraintes sur la forme et les références vers messages échangés. Notre contribution avec SIAAM est la démonstration d’une solution d’isolation réalisée uniquement à l’exécution et basée sur le modèle de programmation par acteurs. Cette solution purement dynamique ne nécessite ni annotations ni vérification statique des programmes. SIAAM permet la communication sans copie de messages de forme arbitraire. Nous présentons la sémantique formelle de SIAAM ainsi qu’une preuve d’isolation vérifiée avec l’assistant COQ. L’implantation du modèle de programmation pour le langage Java est réalisé dans la machine virtuelle JikesRVM. Enfin nous décrivons un ensemble d’analyses statiques qui réduit automatiquement le cout à l’exécution de notre approche.

Résumé / Abstract : In this thesis we study state isolation and efficient message-passing in the context of concurrent object-oriented programming. The ’ownership’ and ’reference uniqueness’ techniques have been extensively employed to address concurrency safety in the past. Strikingly the vast majority of the previous works rely on a set of statically checkable typing rules, either requiring an annotation overhead or introducing strong restrictions on the shape and the aliasing of the exchanged messages.Our contribution with SIAAM is the demonstration of a purely runtime, actor-based, annotation-free, aliasing-proof approach to concurrent state isolation allowing efficient communication of arbitrary objects graphs. We present the formal semantic of SIAAM, along with a machine-checked proof of isolation. An implementation of the model has been realized in a state-of-the-art Java virtual-machine and a set of custom static analyses automatically reduce the runtime overhead.