SFAC, a tool for program comprehension by specialization

This paper describes a tool for facilitating the comprehension of general programs using automatic specialization. The goal of this approach was to assist in the maintenance of old programs, which have become very complex due to numerous extensions. This paper explains why this approach was chosen, how the tool's architecture was set up, and how the correctness of the specialization has been proved. Then, it discusses the results obtained by using this tool, and the future evolutions.<<ETX>>

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

[2]  Siau-Cheng Khoo,et al.  Parameterized partial evaluation , 1993, TOPL.

[3]  Richard A. Kemmerer,et al.  Unisex: A unix‐based symbolic executor for pascal , 1985, Softw. Pract. Exp..

[4]  P. David Coward Symbolic execution systems-a review , 1988, Softw. Eng. J..

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

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

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

[8]  Keith Brian Gallagher,et al.  Using Program Slicing in Software Maintenance , 1991, IEEE Trans. Software Eng..

[9]  Neil D. Jones,et al.  Mix: A self-applicable partial evaluator for experiments in compiler generation , 1989, LISP Symb. Comput..

[10]  Sandrine Blazy,et al.  Partial evaluation as an aid to the comprehension of Fortran programs , 1993, [1993] IEEE Second Workshop on Program Comprehension.