A Novel Approach to Automate Complex Software Modularization Using a Fact Extraction System
Complex software systems that support organizations are updated regularly, which can erode system architectures. Moreover, documentation is rarely synchronized with the changes to the software system. This creates a slew of issues for future software maintenance. To this goal, information extraction tools use exact approaches to extract entities and their corresponding relationships from source code. Such exact approaches extract all features, including those that are less prominent and may not be significant for modularization. In order to resolve the issue, this work proposes an enhanced approximate information extraction approach, namely, fact extractor system for Java applications (FESJ…
An Enhanced Multifactor Multiobjective Approach for Software Modularization
Complex software systems, meant to facilitate organizations, undergo frequent upgrades that can erode the system architectures. Such erosion makes understandability and maintenance a challenging task. To this end, software modularization provides an architectural-level view that helps to understand system architecture from its source code. For modularization, nondeterministic search-based optimization uses single-factor single-objective, multifactor single-objective, and single-factor multiobjective, which have been shown to outperform deterministic approaches. The proposed MFMO approach, which uses both a heuristic (Hill Climbing and Genetic) and a meta-heuristic (nondominated sorting gene…