Program simplification via symbolic interpretation

  • Carlo Ghezzi
  • Dino Mandrioli
  • Antonio Tecchio
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 206)


We investigate a specific program transformation technique, called simplification, which is a generalization of the "mixed computation" technique due to Ershov. Our technique allows one to develop truly generalized programs to be reused several times, for particular cases of their expected inputs.

Given a subset D' of an input domain D, specified via predicates on program variables, and a generalized program P, simplification yields a program P' which implements the same transformation as P on input data restriced to D', but is considerably more efficient than P. We give examples and outline the structure of a prototype implementation, which is built on top of a symbolic intepreter for Pascal.


Generalize Program Conditional Statement Sorting Algorithm Program Variable Prototype Implementation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. /Aho and Ullman 1977/.
    Aho, A.V. and J.D. Ullman Principles of Compiler Design Addison Wesley, Reading, MA 1977.Google Scholar
  2. /Colombo et al. 1985/
    Colombo, M., F. Furlani, G. Geretto "Un Semplificatore di Programmi Pascal Basato su Esecutore Simbolico", Dip. Elettronica, Politecnico di Milano, Tesi di Laurea 1985.Google Scholar
  3. /Ershov 1977/.
    Ershov, A.P. "On The Partial Computation Principle", Information Processing Letters, 6,2, 1977.Google Scholar
  4. /Ershov 1982/.
    Ershov, A.P., "Mixed Computation Potential Applications and Problems for Study", Theoretical Computer Science, 18, 1982.Google Scholar
  5. /Kemmerer and Eckmann 1983/.
    Kemmerer, R.A., and S.T. Eckmann A User's Manual for the UNISEX System", UCSB, Dept. of Computer Science, TRCS83-05, Dec. 1983.Google Scholar
  6. /King 1976/.
    King, J.C. "Symbolic Execution and Program Testing", Comm. ACM, 19, 7, pp 385–394, July 1976.CrossRefGoogle Scholar
  7. /Bauer and Wossner 1982/.
    Bauer, F. and Wossner, H. "Algorithmic Languadge and Program Development", Springer Verlag, New York 1982.Google Scholar
  8. /Partsch and Steinbruggen 1983/.
    Partsch, H. and R. Steinbruggen, "Program Transformation Systems", ACM Computing Surveys, 15, 3, pp 199–236, Sept. 1983.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Carlo Ghezzi
    • 1
  • Dino Mandrioli
    • 1
  • Antonio Tecchio
    • 1
  1. 1.Dipartimento di ElettronicaPolitecnico di MilanoItaly

Personalised recommendations