An approach for measuring the software modularity based on the bursty evolution of functional dependencies

Thumbnail Image
Tedlapu, Ajay
University of Lethbridge. Faculty of Arts and Science
Journal Title
Journal ISSN
Volume Title
Lethbridge, Alta. : University of Lethbridge, Dept. of Mathematics and Computer Science
Modular Design of a software system is one of the parameters which defines the complexity of a software system. If the software is built as one whole module, then it makes testing a long process. Also, updating the software will make a significant impact on the whole system code because of the dependencies. We propose a methodology to study and visualize the evolution of the modular structure of a network of functional dependencies in a software system. We used the Understand C++ tool for analyzing the dependencies and Gephi to produce the network. Our method analyzes the modularity of the software and identifies specific periods of significant activities, which are known as the evolutionary hot spots in software systems. As a case study, we analyzed the modular structure of Octave during its life cycle beginning from 1993 to the present.
Algorithm , C++/CLI (Computer program language) , Computer software -- Development , Machine learning