Verification of High-Level Transformations with Inductive Refinement Types
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) showing that we can effectively verify stated properties
Tue 6 Nov Times are displayed in time zone: Guadalajara, Mexico City, Monterrey change
10:30 - 11:00 Talk | Measuring Effectiveness of Sample-based Product-Line Testing GPCE 2018 Sebastian Ruland, Lars LuthmannTU Darmstadt, Real-time Systems Lab, Johannes BürdekTU Darmstadt, Real-time Systems Lab, Sascha LityTechnische Universität Braunschweig, Thomas ThümTU Braunschweig, Germany, Malte Lochau, Márcio RibeiroFederal University of Alagoas, Brazil | ||
11:00 - 11:30 Talk | Pattern Matching in an Open World GPCE 2018 | ||
11:30 - 12:00 Talk | Verification of High-Level Transformations with Inductive Refinement Types GPCE 2018 Ahmad Salim Al-SibahiDepartment of Computer Science, University of Copenhagen (DIKU) & BilagScan, Thomas P. JensenINRIA Rennes, Aleksandar S. DimovskiIT University of Copenhagen, Denmark, Andrzej WąsowskiIT University of Copenhagen, Denmark |