Verification of high-level transformations with inductive refinement types

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

  • Ahmad Salim Al-Sibahi
  • Thomas P. Jensen
  • Aleksandar Dimovski
  • Andrzej Wasowski
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
Original languageEnglish
Title of host publicationProceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, GPCE 2018
PublisherAssociation for Computing Machinery
Publication date2018
Pages147-160
ISBN (Print)978-1-4503-6045-6
DOIs
Publication statusPublished - 2018
Event17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences - New York, United States
Duration: 5 Nov 20186 Nov 2018

Conference

Conference17th ACM SIGPLAN International Conference on Generative Programming
LandUnited States
ByNew York
Periode05/11/201806/11/2018

ID: 211816200