skip to main content
10.1145/1028664.1028784acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Identification of reusable components within an object-oriented software system using algebraic graph theory

Published:23 October 2004Publication History

ABSTRACT

A novel method for identifying dense communities of classes (clusters) within an Object-Oriented system has been developed. Such communities might possibly imply relevance of functionality and thus be used as Reusable Components. The term "Reusable Components" is used to refer to a set of interrelated classes that represent a module that can be used in different software systems. To accomplish this identification we employ Algebraic Graph Theory (Spectral Graph Partitioning Techniques). From a modified class diagram of the software system we create a graph in which classes stand for the nodes and the discrete messages exchanged between the classes stand for the edges. Our approach is based on an iterative method for partitioning the graph in order to identify possible reusable components within the system. The eigenvectors of the Laplacian matrix derived from the graph are used for the partitioning.

References

  1. Bertrand Meyer, Object Success - A Manager's Guide to Object Orientation, its Impact on the Corporation, and its Use for Reengineering the Software Process, Prentice Hall, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. I. Jacobson, M. Christerson, P. Jonsson, G. Overgaard, Object-Oriented Software Engineering - A Use Case Driven Approach, Reading, MA, USA / Wonkingam, England, Addison Wesley / ACM Press, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Fiedler. Algebraic connectivity of graphs, Czechoslovak Mathematical Journal, 23(98), pp.298--305, 1973.Google ScholarGoogle ScholarCross RefCross Ref
  4. M. Fiedler. A property of eigenvectors of nonnegative symmetric matrices and its applications to graph theory. Czechoslovak Mathematical Journal, 25(100), pp. 619--633, 1975.Google ScholarGoogle ScholarCross RefCross Ref
  5. C. Ghezzi, M. Jazayeri, D. Mandrioli, Fundamentals of Software Engineering, Englewood Cliffs, New Jersey, USA, Prentice Hall, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Clemens Szyperski, Component Software, Addison Wesley, 2002.Google ScholarGoogle Scholar
  7. W.E. Donath and A.J. Hoffman, Lower bounds for the partitioning of graphs, IBM Journal of Research and Development, 17, pp. 420--425, September 1973.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. F. Radicchi, C. Castellano, F. Cecconi, V. Loreto, and Domenico Parisi Defining and identifying communities in networks, PNAS, vol. 101, no. 9, pp. 2658--2663, March 2004.Google ScholarGoogle Scholar

Index Terms

  1. Identification of reusable components within an object-oriented software system using algebraic graph theory

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader