| With different kinds of changes during the iterative software development process, for example personnel changes, reduction or increase in demand, system upgrade and so on, all these will cause the changes of the quality or quantity of source codes, even the structure of system modules. Therefore, how to evaluate and ensure the quality of software source codes has become the problem that software developers have to face. Especially with regard to variety of large-scale software systems, the structural rationality of source codes directly determines the software system can run safely and efficiently or not.This paper will research on the structural rationality problems for software systems from the angle of complex network. The research approach and experiments will be divided into three steps in this paper:1) Abstract the source codes of large-scale software systems into complex networks.2) Design and count up the software quality evaluation index based on complex networks.3) Design objective rating criteria for software quality and validate the rationality for kinds of complex network index.First of all, we try to abstract the large-scale software systems into complex topological network on the basis of the structure of the source codes. We define the function objects from source codes as nodes and call relationship between functions as edges in the complex network. During the iterative software development process, every function has belonged to a certain functional module. Therefore, we define this kind of natural function module division for source codes as the original community structure of software complex networks.Then, we count up the network characteristic index based on the topological structure, which mainly consists of two kinds of index:Type I are simple network metrics such as average clustering coefficient, average path length, average degree, modularity and network diameter and etc. About Type II, we propose the some network metrics to determine the software structural rationality based on community detection, by similarity(make use of the metrics such as NMI, RI and ARI) between original community structure and the structure obtained by community detection algorithms.Finally, we make use of the large-scale software system source codes derived from open source websites experimental as our dataset. In order to reflect the quality of open source software objectively, we design a suit of general objective rating criteria based on the users’reviews, score and downloads for the software and validate the correlation between software general rating and kinds of software quality evaluation metrics by series of experiments to test and verify the rationality for kinds of software quality evaluation metrics. And our experimental result shows that the software structural rationality rating metrics based on complex network community structure we proposed in this paper is better than the other software quality evaluation metrics existed. |