Static Analysis for Program Generation Templates

Valdis Berzins
Naval Postgraduate School
1 University Circle, Monterey, CA 93943-5001
berzins@cs.nps.navy.mil
http://www.cs.nps.navy.mil/people/faculty/berzins/

Abstract

Automatic generation of software is relevant to automation in fast moving scenarios. Cost and reliability are specific issues. We address these issues by formalizing the patterns used to generate software via a uniformly generated family of template languages, and by static analysis methods at the template level. By formalizing and separating the generation patterns from the algorithms that interpret the patterns to materialize the generated software, we factor out descriptions of the software generation rules that can be independently analyzed. The desired analysis methods certify that all programs that can possibly be generated from a given set of templates will satisfy a property of interest. We focus on properties expressing design rules: common constraints that are necessary but often not sufficient for "reliability". Examples are syntactic correctness, type consistency, and impossibility of unhandled exceptions. Approaches to these issues at the template level are explained via examples.


Last Updated: May 24, 2000 by Elisabetta Ferrando