Abstract Interpretation of Program Transformations using Regular Tree Grammars

Master Thesis (2018)
Author(s)

J.T. Hidskes (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

Sebastian Erdweg – Mentor

S. Keidel – Mentor

Eelco Visser – Graduation committee member

A. Panichella – Graduation committee member

Faculty
Electrical Engineering, Mathematics and Computer Science
Copyright
© 2018 Jente Hidskes
More Info
expand_more
Publication Year
2018
Language
English
Copyright
© 2018 Jente Hidskes
Graduation Date
02-11-2018
Awarding Institution
Delft University of Technology
Programme
Computer Science | Software Technology
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Many program transformation languages simplify the implementation of program transformations. However, they give only weak static guarantees about the generated code such as well-sortedness. Well-sortedness guarantees that a program transformation does not generate syntactically ill-formed code, but it is too imprecise for many other scenarios. In this paper, we present a static analysis that allows developers of program transformations to reason about their transformations on a more fine-grained level, namely that of syntactic shape. Specifically, we present an abstract interpreter for the Stratego program transformation language that approximates the syntactic shape of transformed code using regular tree grammars. As a baseline, we also present an abstract interpreter that guarantees well-sortedness. We prove parts of both abstract interpreters sound.

Files

License info not available