Validation and Simulation of Software System Evolution Rules Using Software Networks
顾庆,陈道蓄
DOI: https://doi.org/10.1360/n112013-00119
2014-01-01
Abstract:Evolution is an intrinsic property of computer software. By understanding the dynamics of evolution, the process of software evolution can be improved, so that the of software can be improved, while the maintenance cost can be saved. By de ning the class dependence graph, this paper transforms software systems into software networks, validates software evolution laws using network measures, and discusses the feasibility of modeling software evolution. Firstly, according to the eight evolution laws provided by Lehman, network measures are designed and grouped into three aspects: network size, network quality, and structural control. Secondly, based on the four selected open-source software systems, software networks are built and network measures are counted. The experimental study proves that, four evolution laws of Lehman are supported, while three of the rest, i.e. increasing complexity, continuing growth and declining quality have contradictory cases. Finally, both the E-R model and the modular attachment model are used to simulate the evolution process of the software systems. The results of comparison among generated random networks and software networks prove that intrinsic laws exist in software evolution, and by prudent modeling, software evolution can be replicated and even optimized.