Abstract

As the scale and complexity have been increased in software systems, developers place more emphases on software engineering and system designs. Software architecture is evolved with update of softwares, and it plays a fundamental role in determining quality of software systems. Multifractal characteristics of software networks can reflect software quality. In this paper, we construct a software network from the dependencies between object classes, and gain a deep understanding of software through network analysis. To be specific, multifractal analysis of the software network is performed based on a modified box-covering algorithm that yields fewer boxes. We verify that software with different functions and dependencies is multifractal. Further, different versions of the software are compared to discover the evolution of the software architecture. The results show that the singularity of class dependencies decreases as the software is updated. This trend leads to a more specific division of functions between software modules. One of the visible advantages of our work is that it allows the characterization of software structures at the code level. The methodology and results of this paper provide new insights into the evaluation and design of large-scale software systems.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call