Verification of high-level transformations with inductive refinement types
- Ahmad Salim Al-Sibahi,
- Thomas P. Jensen,
- Aleksandar Dimovski,
- ,
- ,
- University of Copenhagen,
- The French National Institute for Computer Science (INRIA)
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-reviewOpen access
Publication Information
Output type
Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-reviewOriginal language
EnglishPages from-to (Number of pages)
Pages 147-160 (14 pages)Publication milestones
- Published - 2018
Publication status
Published - 2018
Publisher
Association for Computing Machinery, United StatesISBN (Print)
978-1-4503-6045-6Publication IDs
- Scopus: 85059022246
Host publication title
Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, {GPCE} 2018, Boston, MA, USA, November 5-6, 2018Abstract
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.
Publication metrics
PlumX, opens in new tab
Citations
2
Captures
8
Access to documents
Accepted author manuscript, 844.32 KB
