Nothing Special   »   [go: up one dir, main page]

Skip to main content

A theory for software design extraction

  • 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:

  • 126 Accesses

Abstract

In this paper we consider the problem of extracting a design for an existing software system. This problem is clearly relevant to understanding and maintaining software systems. The basis of our approach is a formalization of top-down design with information hiding. This formalization allows an accurate and concise formulation of constructing an a posteriori design for a software system using only the source text. The theory predicts that in general there are many possible designs and that these designs can be partially ordered and form a lattice. The lattice has a smallest element and this element is the best top-down design in the sense that it has the most information hiding. We show how this element can be constructed.

A tool has been built on the basis of the theory developed here. It has been applied to many software systems, written in various programming languages. These applications have shown that the theory is successful and can be used for understanding, documenting, maintaining, and restructuring software systems, without requiring from the user a detailed knowledge of the underlying theory.

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.

Similar content being viewed by others

References

  1. Aho, A.V., Hopcroft, J.E., Ullman, J.D. Data structures and algorithms. Addison-Wesley Publishing Company, Reading, Massachusetts, 1983, pp. 222–226.

    Google Scholar 

  2. Aho, A.V., Ullman, J.D. Principles of Compiler Design. Addison-Wesley Publishing Company, Reading, Massachusetts, 1977, pp. 442–447.

    Google Scholar 

  3. Biggerstaff, T. Design recovery for maintenance and reuse. IEEE Computer, Vol. 22–7, pp. 36–49.

    Google Scholar 

  4. Choi, S.C. Scacchi, W. Extracting and restructuring the design of large systems. IEEE Software, Jan. 1990, pp. 66–71.

    Google Scholar 

  5. Gilbert, W.J. Modern Algebra with Applications. John Wiley & Sons, New York, 1976, pp. 27–28.

    Google Scholar 

  6. Maarek, Y.S., Kaiser, G.E., Change management in very large software systems. Phoenix Conference on Computer Systems and Communications, IEEE, Mar. 1988, pp. 280–285.

    Google Scholar 

  7. Parnas, D.L. On the criteria to be used in decomposing systems in modules. Comm. of the ACM, Vol 15–2, Dec. 1972.

    Google Scholar 

  8. Schwanke, R.W., Platoff, M.A. Cross References are Features. Proceedings of the Second International Workshop on Software Configuration Management, Princeton, NJ, Oct. 1989.

    Google Scholar 

  9. Selby, R.W. Basili, V.R., Error localization during software maintenance: Generating hierarchical system descriptions from the source code alone. Conference on Software Maintenance, 1988, IEEE, Oct. 1988.

    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

Sijtsma, B.A., Mager, J.W.L.J. (1991). A theory for software design extraction. 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_52

Download citation

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

  • 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