Publication Type
Conference Proceeding Article
Version
acceptedVersion
Publication Date
9-2020
Abstract
Maintaining complex software systems is a timeconsuming and challenging task. Practitioners must have a general understanding of the system’s decomposition and how the system’s developers have implemented the software features (probably cutting across different modules). Re-engineering practices are imperative to tackle these challenges. Previous research has shown the benefits of using software module clustering (SMC) to aid developers during re-engineering tasks (e.g., revealing the architecture of the systems, identifying how the concerns are spread among the modules of the systems, recommending refactorings, and so on). Nonetheless, although the literature on software module clustering has substantially evolved in the last 20 years, there are just a few tools publicly available. Still, these available tools do not scale to large scenarios, in particular, when optimizing multi-objectives. In this paper we present the Draco Clustering Tool (DCT), a new software module clustering tool. DCT design decisions make multi-objective software clusterization feasible, even for software systems comprising up to 1,000 modules. We report an empirical study that compares DCT with other available multi-objective tool (HD-NSGA-II), and both DCT and HD-NSGA-II with mono-objective tools (BUNCH and HD-LNS). We evidence that DCT solves the scalability issue when clustering medium size projects in a multi-objective mode. In a more extreme case, DCT was able to cluster Druid (an analytics data store) 221 times faster than HD-NSGA-II.
Keywords
Genetic Algorithms, Multi-Objective optimization, Software Module Clustering
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
2020 20th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM): September 27 - October 3, Adelaide, Virtual: Proceedings
First Page
171
Last Page
176
ISBN
9781728192482
Identifier
10.1109/SCAM51674.2020.00024
Publisher
IEEE
City or Country
Piscataway, NJ
Citation
TARCHETTI, Ana Paula M.; AMARAL, Luis Henrique Vieira; OLIVEIRA, Marcos C.; BONIFACIO, Rodrigo; PINTO, Gustavo; and LO, David.
DCT: An scalable multi-objective module clustering tool. (2020). 2020 20th IEEE International Workshop on Source Code Analysis and Manipulation (SCAM): September 27 - October 3, Adelaide, Virtual: Proceedings. 171-176.
Available at: https://ink.library.smu.edu.sg/sis_research/5644
Copyright Owner and License
Authors
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1109/SCAM51674.2020.00024