Formal Specification and Prototyping of a Program Specializer

This paper reports on the use of formal specifications in the development of a software maintenance tool for specializing imperative programs, which have become very complex due to extensive modifications. The tool is specified in terms of inference rules and operates by induction on the abstract syntax. The correctness of these rules is proved using rule induction. A Prolog prototype has been derived for Fortran programs, using the Centaur programming environment.

[1]  Robert D. Tennent,et al.  Semantics of programming languages , 1991, Prentice Hall International Series in Computer Science.

[2]  Joëlle Despeyroux,et al.  Proof of Translation in Natural Semantics , 1986, LICS.

[3]  Yuri Gurevich,et al.  The Semantics of the C Programming Language , 1992, CSL.

[4]  Uwe Meyer Techniques for partial evaluation of imperative languages , 1991 .

[5]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[6]  Gilles Kahn,et al.  Natural Semantics , 1987, STACS.

[7]  Sandrine Blazy,et al.  SFAC, a tool for program comprehension by specialization , 1994, Proceedings 1994 IEEE 3rd Workshop on Program Comprehension- WPC '94.