Verification of Program Transformations with Inductive Refinement Types - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Article Dans Une Revue ACM Transactions on Software Engineering and Methodology Année : 2021

Verification of Program Transformations with Inductive Refinement Types

Résumé

High-level transformation languages like Rascal include expressive features for manipulating large abstract syntax trees: first-class traversals, expressive pattern matching, backtracking, and generalized iterators. We present the design and implementation of an abstract interpretation tool, Rabit, for verifying inductive type and shape properties for transformations written in such languages. We describe how to perform abstract interpretation based on operational semantics, specifically focusing on the challenges arising when analyzing the expressive traversals and pattern matching. Finally, we evaluate Rabit on a series of transformations (normalization, desugaring, refactoring, code generators, type inference, etc.) showing that we can effectively verify stated properties.
Fichier principal
Vignette du fichier
Rabit_TOSEM.pdf (709.12 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03518825 , version 1 (10-01-2022)

Identifiants

Citer

Ahmad Salim Al-Sibahi, Thomas P Jensen, Aleksandar S Dimovski, Andrzej Wąsowski. Verification of Program Transformations with Inductive Refinement Types. ACM Transactions on Software Engineering and Methodology, 2021, 30 (1), pp.1-33. ⟨10.1145/3409805⟩. ⟨hal-03518825⟩
69 Consultations
109 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More