Clustering Large Software Systems at Multiple Layers

Date

2006

Authors

Andreopoulos, Bill
An, Aijun
Tzerpos, Vassilios
Wang, Xiaogang

Journal Title

Journal ISSN

Volume Title

Publisher

Information and Software Technology

Abstract

Software clustering algorithms presented in the literature rarely incorporate in the clustering process dynamic information, such as the number of function invocations during run time. Moreover, the structure of a software system is often multi-layered, while existing clustering algorithms often create flat system decompositions. This paper presents a software clustering algorithm called MULICsoft that incorporates in the clustering process both static and dynamic information. MULICsoft produces layered clusters with the core elements of each cluster assigned to the top layer. We present experimental results of applying MULICsoft to a large open-source system. Comparison with existing software clustering algorithms indicates that MULICsoft is able to produce decompositions that are close to those created by system experts.

Description

Keywords

Software clustering, Multiple layer, Categorical, MULIC

Citation

Andreopoulos, B., An, A., Tzerpos, V., & Wang, X. (2007). Clustering large software systems at multiple layers. Information and Software Technology, 49(3), 244–254. https://doi.org/10.1016/j.infsof.2006.10.010