Software Architecture Reconstruction through Clustering: Finding the Right Similarity Factors

Ioana Sora

Abstract

Clustering is very often used for the purpose of automatic softwarearchitecture reconstruction. This work investigates the importance of taking into account different factors for the similarity metric, besides the traditional factorbased on direct coupling/cohesion: indirect coupling as computed from the topology of the dependency graph, and global architectural layering resulting from theorientation of dependencies. We experiment with using these factors, individuallyor combined, for defining the similarity metrics within a set of clustering algorithms.

References

  1. Periklis Andritsos and Vassilios Tzerpos. Information-theoretic software clustering. IEEE Trans. Software Eng., 31(2):150-165, 2005.
  2. N. Anquetil and J. Laval. Legacy software restructuring: Analyzing a concrete case. In Software Maintenance and Reengineering (CSMR), 2011 15th European Conference on, pages 279-286, 2011.
  3. Nicolas Anquetil and Timothy C. Lethbridge. Recovering software architecture from the names of source files. Journal of Software Maintenance, 11(3):201-221, May 1999.
  4. Markus Bauer and Mircea Trifu. Architecture-aware adaptive clustering of OO systems. Software Maintenance and Reengineering, European Conference on, 0:3, 2004.
  5. Fabian Beck and Stephan Diehl. On the congruence of modularity and code coupling. In Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering, ESEC/FSE 7811, pages 354-364, New York, NY, USA, 2011. ACM.
  6. Yves Chiricota, Fabien Jourdan, and Guy Melancon. Software components capture using graph clustering. In Proceedings IWPC, pages 217-226, 2003.
  7. Andreas Christl, Rainer Koschke, and Margaret-Anne D. Storey. Automated clustering to support the reflexion method. Information & Software Technology, 49(3):255-274, 2007.
  8. S. Ducasse and D. Pollet. Software architecture reconstruction: A process-oriented taxonomy. Software Engineering, IEEE Transactions on, 35(4):573-591, 2009.
  9. Fernando Brito e Abreu and Miguel Goula˜o. Coupling and cohesion as modularization drivers: Are we being over-persuaded? In Proceedings of the Fifth Conference on Software Maintenance and Reengineering, CSMR, pages 47-57, 2001.
  10. M. Hall, N. Walkinshaw, and P. McMinn. Supervised software modularisation. In Software Maintenance (ICSM), 2012 28th IEEE International Conference on, pages 472-481, 2012.
  11. Jannik Laval, Nicolas Anquetil, Usman Bhatti, and Stphane Ducasse. oZone: Layer identification in the presence of cyclic dependencies. Science of Computer Programming, (0):-, 2012.
  12. Brian S. Mitchell and Spiros Mancoridis. On the automatic modularization of software systems using the bunch tool. IEEE Trans. Software Eng., 32(3):193-208, 2006.
  13. S. Muhammad. Evaluating relationship categories for clustering object-oriented software systems. IET Software, 6:260-274(14), June 2012.
  14. Hausi A. Müller, Scott R. Tilley, and Kenny Wong. Understanding software systems using reverse engineering technology perspectives from the rigi project. In Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: software engineering - Volume 1, CASCON 7893, pages 217-226. IBM Press, 1993.
  15. G.C. Murphy, D. Notkin, and K.J. Sullivan. Software reflexion models: bridging the gap between design and implementation. Software Engineering, IEEE Transactions on, 27(4):364- 380, 2001.
  16. Neeraj Sangal, Ev Jordan, Vineet Sinha, and Daniel Jackson. Using dependency models to manage complex software architecture. In OOPSLA 7805: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 167-176, New York, NY, USA, 2005. ACM.
  17. Ioana Sora. A meta-model for representing language-independent primary dependency structures. In Joaquim Filipe and Leszek A. Maciaszek, editors, ENASE 2012 - Proceedings of the 7th International Conference on Evaluation of Novel Approaches to Software Engineering, pages 65-74. SciTePress, 2012.
  18. Ioana Sora, Gabriel Glodean, and Mihai Gligor. Software architecture reconstruction: An approach based on combining graph clustering and partitioning. In Computational Cybernetics and Technical Informatics (ICCC-CONTI), 2010 International Joint Conference on, pages 259-264, 2010.
  19. V. Tzerpos and R.C. Holt. The orphan adoption problem in architecture maintenance. In Reverse Engineering, 1997. Proceedings of the Fourth Working Conference on, pages 76- 82, 1997.
  20. V. Tzerpos and R.C. Holt. Accd: an algorithm for comprehension-driven clustering. In Reverse Engineering, 2000. Proceedings. Seventh Working Conference on, pages 258-267, 2000.
  21. Zhihua Wen and V. Tzerpos. Evaluating similarity measures for software decompositions. In Software Maintenance, 2004. Proceedings. 20th IEEE International Conference on, pages 368-377, 2004.
  22. T.A. Wiggerts. Using clustering algorithms in legacy systems remodularization. In Proceedings of the Fourth Working Conference on Reverse Eengineering, pages 33-43, 1997.
  23. C.T. Zahn. Graph-theoretical methods for detecting and describing gestalt clusters. IEEE Transactions on Computers, C(20):68-86, 1971.
Download


Paper Citation


in Harvard Style

Sora I. (2013). Software Architecture Reconstruction through Clustering: Finding the Right Similarity Factors . In Proceedings of the 1st International Workshop in Software Evolution and Modernization - Volume 1: SEM, (ENASE 2013) ISBN 978-989-8565-66-2, pages 45-54. DOI: 10.5220/0004599600450054


in Bibtex Style

@conference{sem13,
author={Ioana Sora},
title={Software Architecture Reconstruction through Clustering: Finding the Right Similarity Factors},
booktitle={Proceedings of the 1st International Workshop in Software Evolution and Modernization - Volume 1: SEM, (ENASE 2013)},
year={2013},
pages={45-54},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004599600450054},
isbn={978-989-8565-66-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 1st International Workshop in Software Evolution and Modernization - Volume 1: SEM, (ENASE 2013)
TI - Software Architecture Reconstruction through Clustering: Finding the Right Similarity Factors
SN - 978-989-8565-66-2
AU - Sora I.
PY - 2013
SP - 45
EP - 54
DO - 10.5220/0004599600450054