Open Access Open Access  Restricted Access Subscription or Fee Access

Dynamic Analysis Based Software Modularization Augmenting Weighted Module Dependency Graphs

Harleen Kaur, Geeta Sikka



The requirements for systems change over time and as the software systems evolve their designs degenerate, making it necessary to restructure the system to recoup with the apprehension that was lost. Without complete knowledge of a software system, a software maintainer may find it difficult to modify the system. A complete understanding of the system is must before making any change to the placement structure of software components and entities. The process of reverse engineering starts with an analysis phase where a system is analyzed by extracting its structure using automated tools. It is very crucial for the developers to understand the system structure before making an attempt to modify it. The dependency structure can be viewed as a directed Module dependency graph (MDG). This research focuses on enriching the MDG for a better understanding of the system structure by assigning different weights to different kind of code dependencies. To each kind of coupling relation different weights are assigned. A naive function has been defined to generate weighted MDGs. The MDGs are generated using static as well as dynamic analysis. Using these graphs for software re-modularization tests the effectiveness of approach.


Module dependency graph, Software systems, Software re-modularization, Automated tools

Full Text:



  • There are currently no refbacks.