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.Comment: 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-47