๐”– Bobbio Scriptorium
โœฆ   LIBER   โœฆ

Statically safe program generation with SafeGen

โœ Scribed by Shan Shan Huang; David Zook; Yannis Smaragdakis


Book ID
104091982
Publisher
Elsevier Science
Year
2011
Tongue
English
Weight
541 KB
Volume
76
Category
Article
ISSN
0167-6423

No coin nor oath required. For personal study only.

โœฆ Synopsis


SafeGen is a meta-programming language for writing statically safe generators of Java programs. If a program generator written in SafeGen passes the checks of the SafeGen compiler, then the generator will only generate well-formed Java programs, for any generator input. In other words, statically checking the generator guarantees the correctness of any generated program, with respect to static checks commonly performed by a conventional compiler (including type safety, existence of a superclass, etc.). To achieve this guarantee, SafeGen supports only language primitives for reflection over an existing well-formed Java program, primitives for creating program fragments, and a restricted set of constructs for iteration, conditional actions, and name generation. SafeGen's static checking algorithm is a combination of traditional type checking for Java, and a series of calls to a theorem prover to check the validity of first-order logical sentences, constructed to represent well-formedness properties of the generated program under all inputs. The approach has worked quite well in our tests, providing proofs for correct generators or pointing out interesting bugs.


๐Ÿ“œ SIMILAR VOLUMES


Programming with generators
โœ Alfs Berztiss ๐Ÿ“‚ Article ๐Ÿ“… 1988 ๐Ÿ› John Wiley and Sons ๐ŸŒ English โš– 546 KB