Software Clustering based on Behavioural Features

C. Patel, A. Hamou-Lhadj, and J. Rilling (Canada)


Software maintenance, reverse engineering, softwareclustering, program comprehension


Understanding a large software system can be made easier if the system is decomposed into smaller and more manageable clusters; software engineers can focus on analyzing only the subsystems needed to solve the maintenance task at hand. There exist several software clustering techniques, among which the most predominant ones are based on the analysis of the source code. However, due to the increasing complexity of software, we argue that this structural clustering is no longer sufficient. In this paper, we present a novel clustering approach based on dynamic analysis. The technique is based on measuring the similarity between the components of the system under study according to the number of software features they implement. A discussion on why software features can be a good candidate clustering criterion is presented. We also present a preliminary case study that supports the applicability of the proposed approach.

Important Links:

Go Back