Verification of Program Transformations with Inductive Refinement Types

Autor: Aleksandar S. Dimovski, Andrzej Wąsowski, Thomas Jensen, Ahmad Salim Al-Sibahi
Přispěvatelé: University of Copenhagen = Københavns Universitet (KU), Software certification with semantic analysis (CELTIQUE), Inria Rennes – Bretagne Atlantique, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-LANGAGE ET GÉNIE LOGICIEL (IRISA-D4), Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA), Université de Bretagne Sud (UBS)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Université de Rennes (UNIV-RENNES)-Institut National des Sciences Appliquées (INSA)-Université de Rennes (UNIV-RENNES)-Institut National de Recherche en Informatique et en Automatique (Inria)-École normale supérieure - Rennes (ENS Rennes)-Centre National de la Recherche Scientifique (CNRS)-Université de Rennes 1 (UR1), Université de Rennes (UNIV-RENNES)-CentraleSupélec-IMT Atlantique Bretagne-Pays de la Loire (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-Université de Bretagne Sud (UBS)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-Institut de Recherche en Informatique et Systèmes Aléatoires (IRISA), Institut National des Sciences Appliquées (INSA)-Université de Rennes (UNIV-RENNES)-Institut National des Sciences Appliquées (INSA)-Université de Rennes (UNIV-RENNES)-École normale supérieure - Rennes (ENS Rennes)-Centre National de la Recherche Scientifique (CNRS)-Université de Rennes 1 (UR1), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT), IT University of Copenhagen, University of Copenhagen = Københavns Universitet (UCPH), Université de Rennes (UR)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Université de Bretagne Sud (UBS)-École normale supérieure - Rennes (ENS Rennes)-Institut National de Recherche en Informatique et en Automatique (Inria)-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS)-IMT Atlantique (IMT Atlantique), Institut Mines-Télécom [Paris] (IMT)-Institut Mines-Télécom [Paris] (IMT)-Université de Rennes (UR)-Institut National des Sciences Appliquées - Rennes (INSA Rennes), Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Université de Bretagne Sud (UBS)-École normale supérieure - Rennes (ENS Rennes)-CentraleSupélec-Centre National de la Recherche Scientifique (CNRS)-IMT Atlantique (IMT Atlantique), IT University of Copenhagen (ITU)
Jazyk: angličtina
Rok vydání: 2021
Předmět:
Program schemes
Computer science
• Software and its engineering → Translator writing systems and compiler generators
02 engineering and technology
computer.software_genre
Operational semantics
CCS Concepts: • Theory of computation → Program verification
Abstract syntax
0202 electrical engineering
electronic engineering
information engineering

Pattern matching
abstract interpretation
Functional constructs
Inductive type
Transformation languages
Backtracking
Programming language
Type inference
transformation languages
Program analysis
[INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO]
020207 software engineering
Abstract interpretation
Semantics
Code refactoring
static analysis
020201 artificial intelligence & image processing
Control primitives
Abstraction
computer
Software
Zdroj: ACM Transactions on Software Engineering and Methodology
ACM Transactions on Software Engineering and Methodology, Association for Computing Machinery, 2021, 30 (1), pp.1-33. ⟨10.1145/3409805⟩
ACM Transactions on Software Engineering and Methodology, 2021, 30 (1), pp.1-33. ⟨10.1145/3409805⟩
Al-Sibahi, A S, Jensen, T P, Dimovski, A S & Wasowski, A 2021, ' Verification of Program Transformations with Inductive Refinement Types ', ACM Transactions on Software Engineering and Methodology, vol. 30, no. 1, 5 . https://doi.org/10.1145/3409805
Al-Sibahi, A S, Jensen, T P, Dimovski, A & Wasowski, A 2021, ' Verification of Program Transformations with Inductive Refinement Types ', ACM Transactions on Software Engineering and Methodology, vol. 30, no. 1, 5, pp. 1-33 . https://doi.org/10.1145/3409805
ISSN: 1049-331X
DOI: 10.1145/3409805⟩
Popis: International audience; 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.
Databáze: OpenAIRE