Skip to search boxSkip to navigationSkip to main content

Verification of high-level transformations with inductive refinement types

Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Open access

Publication Information

Output type

Research Output:
Conference Article in Proceeding or Book/Report chapter
Article in proceedings
Peer-review

Original language

English

Pages from-to (Number of pages)

Pages 147-160 (14 pages)

Publication milestones

  • Published - 2018

Publication status

Published - 2018

Publisher

Association for Computing Machinery, United States
978-1-4503-6045-6

Publication 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, 2018

Abstract

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