2016 IEEE 24th International Conference on Program Comprehension (ICPC) (2016)
Austin, TX, USA
May 16, 2016 to May 17, 2016
Fabian Beck , VISUS, University of Stuttgart, Germany
Jan Melcher , VISUS, University of Stuttgart, Germany
Daniel Weiskopf , VISUS, University of Stuttgart, Germany
Software is modularized to make its high complexity manageable. However, a multitude of modularization criteria exists and is applied. Hence, to extend, reuse, or restructure a system, it is important for developers to understand which criteria have been used. To this end, we provide an interactive visualization approach that compares the current modularization of a system to several software clustering results. The visualization is based on juxtaposed icicle plot representations of the hierarchical modularizations, encoding similarity by color. A detailed comparison is facilitated by an advanced selection concept. Coupling graphs, which form the basis for software clustering, can be explored on demand in matrix representations. We discuss typical modularization patterns that indicate criteria used for structuring the software or suggest opportunities for partial remodularization of the system. We apply the approach to analyze 16 open source Java projects. The results show that identifying those modularization patterns provides valuable insights and can be done efficiently.
Visualization, Color, Encoding, Couplings, Software systems, Java
F. Beck, J. Melcher and D. Weiskopf, "Identifying modularization patterns by visual comparison of multiple hierarchies," 2016 IEEE 24th International Conference on Program Comprehension (ICPC), Austin, TX, USA, 2016, pp. 1-10.