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

Coen Porisini, A., DE PAOLI, F., Ghezzi, C., Mandrioli, D. (1991). Software specialization via symbolic execution. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 17(9), 884-899 [10.1109/32.92907].

Software specialization via symbolic execution

DE PAOLI, FLAVIO MARIA
Secondo
;
1991

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
Articolo in rivista - Articolo scientifico
Software; Symbolic execution; Software transformation; Software reengineering; Application software; Software libraries; Software reusability; Software maintenance; Production; Software tools; Software prototyping; Prototypes; Computer languages;
English
1991
17
9
884
899
none
Coen Porisini, A., DE PAOLI, F., Ghezzi, C., Mandrioli, D. (1991). Software specialization via symbolic execution. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 17(9), 884-899 [10.1109/32.92907].
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/137775
Citazioni
  • Scopus 33
  • ???jsp.display-item.citation.isi??? 22
Social impact