基于软件网络的软件系统演化规律验证和模拟
摘要
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.