Static analyses for Stratego programs

More Info
expand_more

Abstract

Model driven software development is gaining momentum in the software engineering world. One approach to model driven software development is the design and development of domain-specific languages allowing programmers and users to spend more time on their core business and less on addressing non problem- specific issues. Language workbenches and support languages and compilers are necessary for supporting development of these domain-specific languages. One such workbench is the Spoofax Language Workbench. Within Spoofax, parsers are generated from SDF syntactic definitions and compilers are specified in the Stratego programming language. The Stratego programming language is a powerful tool for specifying software rewriting systems, but has one drawback: it is untyped. The absence of a (static) type system exposes the programmer and the user to risks of runtime failures, and inherently exposes the user to the internals of the compiler. To attempt to mititage these risks and to serve as a basis for further development, this project has been dedicated to designing and implementing a set of static analyses for Stratego code.