A compiler optimization is sound if the optimized program that it produces is semantically equivalent to the input program. The proofs of semantic equivalence are usually tedious....
We propose a faithful encoding of Java programs (written in a suitable fragment of the language) to Graph Transformation Systems. Every program is translated to a set of rules incl...
Data-type generic programming can be used to traverse and manipulate specific parts of large heterogeneously-typed tree structures, without the need for tedious boilerplate. Gene...
This paper describes a language and framework that allow coordinated transformations driven by invariants to be specified declaratively, as invariant rules, and applied automatic...
Yanhong A. Liu, Michael Gorbovitski, Scott D. Stol...