Feature-Gathering Dependency-Based Software Clustering Using Dedication and Modularity
Abstract
Software clustering is one of the important techniques to comprehend software systems. However, presented techniques to date require human interactions to refine clustering results. In this paper, we proposed a novel dependency-based software clustering algorithm, SArF. SArF has two characteristics. First, SArF eliminates the need of the omnipresent-module-removing step which requires human interactions. Second, the objective of SArF is to gather relevant software features or functionalities into a cluster. To achieve them, we defined the Dedication score to infer the importance of dependencies and utilized Modularity Maximization to cluster weighted directed graphs. Two case studies and extensive comparative evaluations using open source and industrial systems show that SArF could successfully decompose the systems fitting to the authoritative decompositions from a feature viewpoint without any tailored setups and that SArF was superior to existing dependency-based software clustering studies. Besides, the case studies show that there exist measurable authoritativeness limits and that SArF nearly reached the limits.
- Publication:
-
arXiv e-prints
- Pub Date:
- June 2013
- DOI:
- arXiv:
- arXiv:1306.2096
- Bibcode:
- 2013arXiv1306.2096K
- Keywords:
-
- Computer Science - Software Engineering
- E-Print:
- 10 pages, 9 figures, 7 tables. This is the accepted version of a paper presented at the 28th IEEE International Conference on Software Maintenance (ICSM2012), Riva del Garda, Trento, Italy, Sep 2012, pp.462-471