201. Software specialization via symbolic execution
- Author
-
Coen Porisini, A, DE PAOLI, F, Ghezzi, C, Mandrioli, D, Mandrioli, D., DE PAOLI, FLAVIO MARIA, Coen Porisini, A, DE PAOLI, F, Ghezzi, C, Mandrioli, D, Mandrioli, D., and DE PAOLI, FLAVIO MARIA
- Abstract
The authors describe a technique and an environment-supporting specialization of generalized software components. The technique is based on symbolic execution. It allows one to transform a generalized software component into a more specific and more efficient component. Specialization is proposed as a technique that improves software reuse. The idea is that a library of generalized components exists and the environment supports a designer in customizing a generalized component when the need arises for reusing it under more restricted conditions. It is also justified as a reengineering technique that helps optimize a program during maintenance. Specialization is supported by an interactive environment that provides several transformation tools: a symbolic executor/simplifier, an optimizer, and a loop refolder. The conceptual basis for these transformation techniques is described, examples of their application are given, and how they cooperate in a prototype environment for the Ada programming language is outlined
- Published
- 1991