Desynchronized Multi-State Abstractions for Open Programs in Dynamic Languages - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2015

Desynchronized Multi-State Abstractions for Open Programs in Dynamic Languages

Résumé

Dynamic language library developers face a challenging problem: ensuring that their libraries will behave correctly for a wide variety of client programs without having access to those client programs. This problem stems from the common use of two defining features for dynamic languages: callbacks into client code and complex manipulation of attribute names within objects. To remedy this problem, we introduce two state-spanning abstractions. To analyze callbacks, the first abstraction desynchronizes a heap, allowing partitions of the heap that may be affected by a callback to an unknown function to be frozen in the state prior to the call. To analyze object attribute manipulation, building upon an abstraction for dynamic language heaps, the second abstraction tracks attribute name/value pairs across the execution of a library. We implement these abstractions and use them to verify modular specifications of class-, trait-, and mixin-implementing libraries.
Fichier non déposé

Dates et versions

hal-01098379 , version 1 (24-12-2014)

Identifiants

  • HAL Id : hal-01098379 , version 1

Citer

Arlen Cox, Bor-Yuh Evan Chang, Xavier Rival. Desynchronized Multi-State Abstractions for Open Programs in Dynamic Languages. European Symposium On Programming (ESOP 2015), Apr 2015, London, United Kingdom. ⟨hal-01098379⟩
108 Consultations
0 Téléchargements

Partager

Gmail Facebook X LinkedIn More