• Application of graph theory to OO software engineering

    Type Conference Paper
    Author Alexander Chatzigeorgiou
    Author Nikolaos Tsantalis
    Author George Stephanides
    Date 2006
    Proceedings Title WISER '06: Proceedings of the 2006 international workshop on Workshop on interdisciplinary software engineering research
    Place New York, NY, USA
    Publisher ACM
    Pages 29―36
    DOI http://doi.acm.org/10.1145/1137661.1137669
    ISBN 1-59593-409-X
    Loc. in Archive Shanghai, China
    Date Added Fri Nov 28 13:07:22 2008
    Modified Fri Nov 28 13:07:22 2008

    Tags:

    • design patterns
    • graphs

    Notes:

    • Discusses the representation of a program as a generic mathematical graph and conversions between UML and "standard" graphs. Four different applications of Graph Theory are demonstrated,: the identification of "God" classes, clustering, detection of design patterns and scale-freeness of OO systems. One interesting twist is the weighting of edges to indicate things such as the number of calls from one class to another. Relevance: 4

    Attachments

    • graphTheoryOO-WISER_2006.pdf
  • Cluster analysis of Java dependency graphs

    Type Conference Paper
    Author Jens Dietrich
    Author Vyacheslav Yakovlev
    Author Catherine McCartin
    Author Graham Jenson
    Author Manfred Duchrow
    Abstract We present a novel approach to the analysis of dependency graphs of object-oriented programs. We propose to use the Girvan-Newman clustering algorithm to compute the modular structure of programs. This is useful in assisting software engineers to redraw component boundaries in software, in order to improve the level of reuse and maintainability. The results of this analysis can be used as a starting point for refactoring the software. We present BARRIO, an Eclipse plugin that can detect and visualise clusters in dependency graphs extracted from Java programs by means of source code and byte code analysis. These clusters are then compared with the modular structure of the analysed programs defined by package and container specifications. Two metrics are introduced to measure the degree of overlap between the defined and the computed modular structure. Some empirical results obtained from analysing non-trivial software packages are presented.
    Date 2008
    Proceedings Title Proceedings of the 4th ACM symposium on Software visuallization
    Place Ammersee, Germany
    Publisher ACM
    Pages 91-94
    DOI 10.1145/1409720.1409735
    ISBN 978-1-60558-112-5
    URL http://portal.acm.org/citation.cfm?
    doid=1409720.1409735
    Accessed Fri Dec 19 10:17:13 2008
    Repository ACM
    Date Added Fri Dec 19 10:17:13 2008
    Modified Fri Dec 19 10:17:13 2008

    Tags:

    • anti-pattern detection
    • cluster analysis
    • dependency analysis
    • refactoring

    Notes:

    • Mentions social network concepts like betweenness. Makes use of Jung for the Girvan-Newman algorithm and Prefuse for visualization. The emphasis is on (re)packaging. Relevance: 4

    Attachments

    • ACM Snapshot
    • javaDepGraphs-p91-dietrich.pdf
  • Using Text Mining and Link Analysis for Software Mining

    Type Book Section
    Author Miha Grcar
    Author Marko Grobelnik
    Author Dunja Mladenic
    Abstract Many data mining techniques are these days in use for ontology learning – text mining, Web mining, graph mining, link analysis, relational data mining, and so on. In the current state-of-the-art bundle there is a lack of “software mining” techniques. This term denotes the process of extracting knowledge out of source code. In this paper we approach the software mining task with a combination of text mining and link analysis techniques. We discuss how each instance (i.e. a programming construct such as a class or a method) can be converted into a feature vector that combines the information about how the instance is interlinked with other instances, and the information about its (textual) content. The so-obtained feature vectors serve as the basis for the construction of the domain ontology with OntoGen, an existing system for semi-automatic data-driven ontology construction.
    Book Title Mining Complex Data
    Date 2008
    Pages 1-12
    URL http://dx.doi.org/10.1007/978-3-540-68416-9_1
    Accessed Fri Dec 12 17:08:13 2008
    Repository SpringerLink
    Date Added Fri Dec 12 17:08:13 2008
    Modified Fri Dec 12 17:08:13 2008

    Tags:

    • clustering
    • data mining
    • graphs
    • similarity

    Notes:

    • Somewhat difficult to read in places. Talks about feature vectors and combining different graphs of inter-related classes. Relevance: 5

    Attachments

    • grcar-using-text-mining-and-link-analysis-for-software-mining-ecml-pkdd07.pdf
    • SpringerLink Snapshot
  • Structural cohesion and embeddedness: A hierarchical concept of social groups

    Type Journal Article
    Author James Moody
    Author Douglas R White
    Publication American Sociological Review
    Volume 68
    Pages 103--127
    Date 2003
    DOI 10.1.1.18.5695
    Short Title Structural cohesion and embeddedness
    URL http://citeseerx.ist.psu.edu/viewdoc/summary?
    doi=10.1.1.18.5695
    Accessed Tue Jan 13 11:30:14 2009
    Date Added Tue Jan 13 11:30:14 2009
    Modified Tue Jan 13 11:30:14 2009

    Tags:

    • graphs
    • SNA

    Notes:

    • This is a paper about coupling and cohesion from a social scientist's perspective. It is more interesting tham most in that it considers hierarchical clusters, i.e. clusters of clusters. Relevance:4

    Attachments

    • cohesion-ASRFeb03MoodyWhite.pdf
  • Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs

    Type Journal Article
    Author Christopher Myers
    Abstract Software systems emerge from mere keystrokes to form intricate functional networks connecting many collaborating modules, objects, classes, methods, and subroutines. Building on recent advances in the study of complex networks, I have examined software collaboration graphs contained within several open-source software systems, and have found them to reveal scale-free, small-world networks similar to those identified in other technological, sociological, and biological systems. I present several measures of these network topolo- gies, and discuss their relationship to software engineering practices. I also present a simple model of software system evolution based on refactoring processes which captures some of the salient features of the observed systems. Some implications of object-oriented design for questions about network robustness, evolvability, degeneracy, and organization are discussed in the wake of these findings.
    Publication Physical Review
    Volume E 68
    Date October 20, 2003
    DOI 10.1103/PhysRevE.68.046116
    Date Added Mon Jan 5 17:03:26 2009
    Modified Mon Jan 5 17:50:12 2009

    Tags:

    • design patterns
    • refactoring
    • SNA

    Notes:

    • This is a broad-ranging paper that considers software systems relative to other emergent systems, including biological and social systems. It discussing refactoring, evolution, intelligent design, and design patterns. Relevance: 5

    Attachments

    • Myers2003_softwarenet.pdf
  • The structure and function of complex networks

    Type Journal Article
    Author M. E. J Newman
    Abstract Inspired by empirical studies of networked systems such as the Internet, social networks, and biological networks, researchers have in recent years developed a variety of techniques and models to help us understand or predict the behavior of these systems. Here we review developments in this field, including such concepts as the small-world effect, degree distributions, clustering, network correlations, random graph models, models of network growth and preferential attachment, and dynamical processes taking place on networks.
    Publication SIAM Review
    Volume 45
    Pages 167--256
    Date 2003
    DOI 10.1.1.6.1737
    URL http://citeseerx.ist.psu.edu/viewdoc/summary?
    doi=10.1.1.6.1737
    Accessed Wed Jan 7 18:18:40 2009
    Date Added Wed Jan 7 18:18:40 2009
    Modified Wed Jan 21 13:35:02 2009

    Tags:

    • SNA

    Attachments

    • complexNetworksNewman2003-42480.pdf

      This is a long paper about network analysis that includes examples from many fields - sociology, biology, the Internet, ... Relevance: 4

  • Social Network Analysis: Methods and Applications

    Type Book
    Author Stanley Wasserman
    Contributor Katherine Faust
    Series Structural analysis in the social sciences
    Series Number 8
    Place Cambridge
    Publisher Cambridge University Press
    Date 1994
    Pages 825
    ISBN 0521387078
    Short Title Social Network Analysis
    Call Number HM131 .W356 1994
    Repository victoria.lconz.ac.nz Library Catalog
    Date Added Tue Dec 16 16:12:24 2008
    Modified Tue Dec 16 16:12:24 2008

    Tags:

    • SNA