Skip to main content

SESADA: An environment supporting software specialization

  • Conference paper
  • First Online:
ESEC '91 (ESEC 1991)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 550))

Included in the following conference series:

Abstract

In this paper we present an example of customization of an AdaTM component by means of a tool (SESADA) that performs program specialization. Specializing a software component means to transform it into a component having the same functionality, but working only on a sub-domain of input data. Specialization is achieved by means of symbolic execution and static optimizations.

Specialization is motivated as a technique to improve reusability of software components. In fact, reusing software components involves complex problems; for example, we need to know where we shall look for components, and how to identify components that match our requirements. In addition, very often it is impossible to find a component that exactly matches requirements. Therefore, it is reasonable to suppose that some changes should be performed on existing components in order to reuse them.

Specialization is expected to produce software components that are smaller and more efficient than their original counterparts. As a consequence specialized components are likely to be more effective when employed in new environments.

SESADA has been implemented at Politecnico di Milano and runs under Unix operating system.

Partially supported by CNR Progetto Finalizzato Sistemi Informatici e Calcolo Parallelo.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A.V. Aho, R. Sethi, J.D. Ullman “Compilers: principles, techniques, and tools”, Addison-Wesley(1986).

    Google Scholar 

  2. T.J. Biggerstaff and A.J. Perlis, “Software Reusability voll.1–2” ACM Press, 1989.

    Google Scholar 

  3. W.W. Bledsoe “The Sup-Inf method in Presburger Arithmetic.” Tech. Kept. Department of Mathematics — University of Texas, 1974.

    Google Scholar 

  4. C.L. Chang, R.C. Lee “Symbolic logic and mechanical theorem proving”, Academic Press (1973).

    Google Scholar 

  5. A. Coen-Porisini, F. DePaoli “Symbad: a Symbolic Executor for sequential Ada programs.” In Proceedings of the SAFECOMP '90 (Symposium on sfety of computer control system), Gatwick, U.K. 30 October–2 November 1990, Pergamon Press, pp. 105–111.

    Google Scholar 

  6. A. Coen-Porisini, F. DePaoli, C. Ghezzi, D. Mandrioli “Software Specialization via Symbolic Execution” to appear on IEEE Transactions on Software Engineering, September 1991.

    Google Scholar 

  7. A.P. Ershov “Mixed computation: potential applications and problems for study.” Theoretical Computer Science 18 (1982), 41–67.

    Google Scholar 

  8. A.P. Ershov “On the partial computation principle.” Information Processing Letters 6, 2 (1977).

    Google Scholar 

  9. IEEE Software “Maintenance & Reverse Engineering & Design Recovery”, vol. 7, n. 1, 1990.

    Google Scholar 

  10. R. Kemmerer, S. Eckmann “UNISEX a UNIx-based Symbolic EXecutor for Pascal.” Software-Practice and Experience 15, 5 (May 1985).

    Google Scholar 

  11. J.C. King “Symbolic execution and program testing.” Communications of the ACM 19, 7 (1976).

    Google Scholar 

  12. J. Laski “Testing in the program development cycle.” Software Engineering Journal (March 1989).

    Google Scholar 

  13. H. Partsch and R. Steinbruggen, “Program Transformation Systems” Computing Surveys, vol. 15, n. 3, pp. 199–236, 1983.

    Google Scholar 

  14. Reference Manual for the Ada Programming Language”, USA-DoD, 1983, ANSI/MIL-STD-1815 A.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Axel van Lamsweerde Alfonso Fugetta

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Coen-Porisini, A., De Paoli, F. (1991). SESADA: An environment supporting software specialization. In: van Lamsweerde, A., Fugetta, A. (eds) ESEC '91. ESEC 1991. Lecture Notes in Computer Science, vol 550. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3540547428_53

Download citation

  • DOI: https://doi.org/10.1007/3540547428_53

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54742-6

  • Online ISBN: 978-3-540-46446-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics