Logo image
On the automatic modularization of software systems using the Bunch tool
Journal article   Open access

On the automatic modularization of software systems using the Bunch tool

B.S Mitchell and S Mancoridis
IEEE transactions on software engineering, v 32(3), pp 193-208
Mar 2006
url
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.136.8460View

Abstract

Chaos program comprehension Software maintenance Reverse engineering Software performance reengineering Search problems Partitioning algorithms Clustering optimization Clustering algorithms Software quality Software systems Software tools maintainability
Since modern software systems are large and complex, appropriate abstractions of their structure are needed to make them more understandable and, thus, easier to maintain. Software clustering techniques are useful to support the creation of these abstractions by producing architectural-level views of a system's structure directly from its source code. This paper examines the Bunch clustering system which, unlike other software clustering tools, uses search techniques to perform clustering. Bunch produces a subsystem decomposition by partitioning a graph of the entities (e.g., classes) and relations (e.g., function calls) in the source code. Bunch uses a fitness function to evaluate the quality of graph partitions and uses search algorithms to find a satisfactory solution. This paper presents a case study to demonstrate how Bunch can be used to create views of the structure of significant software systems. This paper also outlines research to evaluate the software clustering results produced by Bunch.

Metrics

15 Record Views
396 citations in Scopus
162 readers on Mendeley
1 readers on CiteULike

Details

InCites Highlights

Data related to this publication, from InCites Benchmarking & Analytics tool:

Web of Science research areas
Computer Science, Software Engineering
Engineering, Electrical & Electronic
Logo image