“…We see works focusing on, e.g., proposing code metrics that aim at detecting modules that are not cohesive or are too much coupled (e.g., [6,7,8]), and automated detection of modularization anti-patterns (e.g., [9]). Closely related to this research, we also see a large effort from the community in modeling software (re-)modularization as an optimization problem and employing search-based techniques to find candidate solutions (e.g., [10,11,12,13,14,15,16,17,18,19,20,21,22,23]). The different studies have relied on different software quality metrics, e.g., coupling, cohesion, number of modules and clusters, effort, package size, number of changes, and semantic cohesiveness.…”