Abstract-Object-oriented (OO) software is usually organized into subsystems using the concepts of package or module. Such modular structure helps applications to evolve when facing new requirements. However, studies show that as software evolves to meet requirements and environment changes, modularization quality degrades. To help maintainers improve the quality of software modularization we have designed and implemented a heuristic search-based approach for automatically optimizing inter-package connectivity (i.e., dependencies). In this paper, we present our approach and its underlying techniques and algorithm. We show through a case study how it enables maintainers to optimize OO package structure of source code. Our optimization approach is based on Simulated Annealing technique.
REF proposed a heuristic search-based approach for automatically reducing the dependencies between the packages of a software system.
Automatic Package Coupling and Cycle Minimization
2009 16th Working Conference on Reverse Engineering
2009 16th Working Conference on Reverse Engineering
Computer Science