Exploratory Analysis of Co-Change Graphs for Code Refactoring

  • Hassan Khosravi
  • Recep Colak
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5549)


Version Control Systems (VCS) have always played an essential role for developing reliable software. Recently, many new ways of utilizing the information hidden in VCS have been discovered. Clustering layouts of software systems using VCS is one of them. It reveals groups of related artifacts of the software system, which can be visualized for easier exploration. In this paper we use an Expectation Maximization (EM) based probabilistic clustering algorithm and visualize the clustered modules using a compound node layout algorithm. Our experiments with repositories of two medium size software tools give promising results indicating improvements over many previous approaches.


Clustering Software artifacts Expectation Maximization 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Newman, M., Leicht, E.: Mixture models and exploratory analysis in networks. In: PNAS 2007 (2007)Google Scholar
  2. 2.
    Beyer, D., Noack, A.: Clustering Software Artifacts Based on Frequent Common Changes. In: IWPC 2005 (2005)Google Scholar
  3. 3.
    Dogrusoz, U., Giral, E., Cetintas, A., Civril, A., Demir, E.: A Compound Graph Layout Algorithm for Biological Pathways. In: Pach, J. (ed.) GD 2004. LNCS, vol. 3383, pp. 442–447. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Dubes, R., Jain, A.: Algorithms for Clustering Data. Prentice-Hall, Englewood Cliffs (1998)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Hassan Khosravi
    • 1
  • Recep Colak
    • 1
  1. 1.School of Computing ScienceSimon Fraser UniversityVancouverCanada

Personalised recommendations