<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2022.108003</article-id><article-id pub-id-type="publisher-id">JCC-119168</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Research on the Controllability of Software Networks Based on the Source-Driven Model
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>He</surname><given-names>Tian</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Xianwei</surname><given-names>Meng</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Nan</surname><given-names>Hu</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Yanchao</surname><given-names>Wang</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Tianyi</surname><given-names>Yang</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff2"><addr-line>School of Sugon Big Data, Liaoning Institute of Science and Technology, Benxi, China</addr-line></aff><aff id="aff1"><addr-line>College of Information, Liaoning University, Shenyang, China</addr-line></aff><pub-date pub-type="epub"><day>11</day><month>08</month><year>2022</year></pub-date><volume>10</volume><issue>08</issue><fpage>26</fpage><lpage>40</lpage><history><date date-type="received"><day>21,</day>	<month>July</month>	<year>2022</year></date><date date-type="rev-recd"><day>12,</day>	<month>August</month>	<year>2022</year>	</date><date date-type="accepted"><day>15,</day>	<month>August</month>	<year>2022</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  The complexity of software system has been increasing with software evolution, which affects the stability of software structure. Most of the existing measurement methods focus on the analysis of the macro-characteristics of the network topology, but lacked a certain depth and expansion to explore the nature of the complexity of the software structure, for this purpose, the complex network control theory was applied to the study of software network controllability. Firstly, the Source-Driver (SD) model was established based on the system control theory, the driver node sets were obtained by the minimum input theorem in the control process of software network topology; Then the relationship between the degree and center degree, the relationship between the in-degree and the out-degree of the software network topology were further analyzed owing to the non-uniqueness of the driver node sets; Finally, the values of the four indicators in the software system were compared. Experimental results show that the driver node sets in the software networks are mainly composed of nodes with low degree values, but it does not mean that the nodes whose in-degree values and out-degree values are also low; The action on control nodes and driver nodes are not random, the controllability of the driver nodes is closely related to the in-degree, when selecting the driver node sets, the network topology characteristics should be considered comprehensively, and the nodes with high degree and center degree are the first choice. The results have important guiding significance for the control, maintenance and redesign of software architecture.
 
</p></abstract><kwd-group><kwd>Complex Networks</kwd><kwd> Software Networks</kwd><kwd> Driver Node Sets</kwd><kwd> Network Control</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>In the context of the Internet era, with the vigorous development of big data technology, software systems based on network have rapidly increased in scale, number of users, and interaction of component elements have become a kind of complex system [<xref ref-type="bibr" rid="scirp.119168-ref1">1</xref>]. Through the interdisciplinary integration of software engineering and complex systems, abstract software systems into the artificial complex networks (i.e. software networks) from the perspective of complex systems and complex networks, which explore and discover the structural characteristics, evolution rules and behavior characteristics of complex software systems from the whole and global perspectives, it is helpful to understand the essential characteristics of software scientifically and comprehensively [<xref ref-type="bibr" rid="scirp.119168-ref2">2</xref>].</p><p>Software networks have been in development for more than a decade, and many research methods have achieved results in the measurement of software static structure characteristics [<xref ref-type="bibr" rid="scirp.119168-ref3">3</xref>] [<xref ref-type="bibr" rid="scirp.119168-ref4">4</xref>] and software dynamic behavior [<xref ref-type="bibr" rid="scirp.119168-ref5">5</xref>] [<xref ref-type="bibr" rid="scirp.119168-ref6">6</xref>]. However, the application environment is becoming more and more complex, which increases the risk of software development. The quality of software products is hard to be guaranteed. With the deepening of the research on complex networks theory, people explore the methods to improve the complex networks [<xref ref-type="bibr" rid="scirp.119168-ref7">7</xref>] [<xref ref-type="bibr" rid="scirp.119168-ref8">8</xref>]. Since Liu et al. [<xref ref-type="bibr" rid="scirp.119168-ref9">9</xref>] first studied the structural control of complex networks from the idea of linear system cybernetics in 2011, people began to explore how to effectively control the structure and behavior of complex dynamic systems. He established the controllability model of complex networks by introducing the matching theory of directed graph and the structural controllability theorem, inputting the control signals to the least driver node sets to completely control the entire network. On this basis, Yuan et al. [<xref ref-type="bibr" rid="scirp.119168-ref10">10</xref>] determined the number of control input nodes using PHB matrix criterion and eigenvalues of network dynamics coupling matrix. Zhanget al. [<xref ref-type="bibr" rid="scirp.119168-ref11">11</xref>] proposed a kind of random matching method to obtain the minimum driver node sets in networks and analyze the structure of nodes in them. P&#243;sfai et al. [<xref ref-type="bibr" rid="scirp.119168-ref12">12</xref>] defined the correlation coefficient between in-degree and out-degree, in-degree and in-degree, out-degree and in-degree, out-degree and out-degree, and analyzed their relationship with network controllability. Liuet al. [<xref ref-type="bibr" rid="scirp.119168-ref13">13</xref>] researched the influence of the correlation between out-degree and in-degree (i.e. degree correlation) using controllable limit theory on the controllability of real network edges, through the analysis and calculation, it showed that the upper and lower controllable limits were applicable to all types of real networks, which deepened the understanding of the controllability of real network edges.</p><p>The research on complex networks provides strong support for exploring the structural characteristics of large-scale software systems [<xref ref-type="bibr" rid="scirp.119168-ref14">14</xref>] [<xref ref-type="bibr" rid="scirp.119168-ref15">15</xref>], Liu et al. [<xref ref-type="bibr" rid="scirp.119168-ref16">16</xref>] used an improved box covering algorithm to analyze the multi-fractal of software networks to enhance the quality of software systems. Ren et al. [<xref ref-type="bibr" rid="scirp.119168-ref17">17</xref>] proposed a new method for mining top-k key nodes in directional weighted complex software networks based on semi global information, and analyzed the stability, reliability and robustness of software networks by studying very few key functional nodes. Zhang et al. [<xref ref-type="bibr" rid="scirp.119168-ref18">18</xref>] proposed an effective method to evaluate software leaks by identifying vulnerable nodes in different software through the interdependence of functions. At present, the application of software system complexity measurement, topology characteristics and information transmission has been relatively mature, but there is little research on the controllability of software network topology. Applying the network controllability theory [<xref ref-type="bibr" rid="scirp.119168-ref19">19</xref>] to software networks is a bold attempt, which expands the field of the research on complex network control. Software networks, as typical complex networks [<xref ref-type="bibr" rid="scirp.119168-ref20">20</xref>], have similar network topology characteristics, and also exist some structural control problems inevitably. Whether it shows similar characteristic rules with the control aspects of complex networks needs to be further considered.</p><p>Based on the research on the controllability of complex networks and the previous experience and analysis methods of software measurement, in this paper, according to the idea of control theory, the “Source-Driver” (SD) model is established, which intuitively and simply expresses the control process of the networks; then, apply the software networks to SD model and study the controllability of software networks combined with the characteristics and rules of the software network topology. Finally, the distribution relation on in-degree, out-degree, degree and center-degree are analyzed deeply to explore how to choose driver node sets in the networks effectively. The obtained results will have guiding significance for the maintenance of software system.</p><p>The remainder of the paper is organized as follows: Section 2 introduces some basic theories about network control aspect and the network controllability analysis framework. In Section 3, the software network controllable model (SD model) is established. Experiments performed in Section 4 discuss the control process of software network topology on SD model, and analyze the characteristic relations on different versions of software to probe the selection of driver node sets. Finally, the paper is concluded and the future direction is given in Section 5.</p></sec><sec id="s2"><title>2. Control Method and Process</title><sec id="s2_1"><title>2.1. Basic Theory and Definition</title><p>Definition 1 Control nodes: It refers to the nodes where the control signals are input. Among them, control signals are used for receiving, and then forwarding immediately to any node in the networks.</p><p>Definition 2 Driver nodes [<xref ref-type="bibr" rid="scirp.119168-ref21">21</xref>]: Control nodes that do not share the same input nodes. Then, the minimum driver nodes required to fully control the states of all nodes in the networks are called the minimum driver node sets.</p><p>Definition 3 Center-degree [<xref ref-type="bibr" rid="scirp.119168-ref22">22</xref>]: It refers to the reciprocal of the sum of the shortest path lengths from a node to all other nodes multiply by N − 1 , expressed as:</p><p>C i = ( N − 1 ) / ∑ i = 1 N d i j (1)</p><p>where, d i j is the shortest path lengths from node i to node j.</p><p>Theorem 1 Minimum input theorem [<xref ref-type="bibr" rid="scirp.119168-ref9">9</xref>]: The minimum input set ( N I ) is equivalent to the minimum output set ( N D ). If the networks are completely matched, the minimum input set is any node in the networks; otherwise, it is the unmatched node set after the maximum matching, expressed as:</p><p>| N I | = | N D | = max { 1 , N &#215; | M ∗ | } (2)</p><p>where | M ∗ | is the maximum number of matched nodes in the directed networks.</p><p>Theorem 2 Kalman criterion [<xref ref-type="bibr" rid="scirp.119168-ref23">23</xref>]: For a N &#215; N M controllable matrix</p><p>W = [ B , A B , ⋯ , A N &#215; 1 B ] (3)</p><p>If and only if the matrix is full rank, i.e. r a n k ( W ) = N , the system is controllable.</p><p>Theorem 3 Structural controllability theorem [<xref ref-type="bibr" rid="scirp.119168-ref24">24</xref>]: If there are no expansive structure and unreached nodes in the networks, the system structure is controllable.</p></sec><sec id="s2_2"><title>2.2. Network Controllability</title><p>In the complex networks, the state of a node at time t can be represented by a set of N dimensional vectors x ( t ) = ( x 1 ( t ) , ⋯ , x N ( t ) ) T , expecting that the node reach the system state x ( t ′ ) = ( x 1 ( t ′ ) , ⋯ , x N ( t ′ ) ) T at time t ′ . Nodes can be considered controllable if they can reach the desired state by inter-coupling. If some states are impossible to reach, the only way to force them is to input control signals from the outside, that situation is uncontrollable. As shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>.</p><p>For the system equation</p><p>x ′ ( t ) = A x ( t ) + B u ( t ) (4)</p><p>u ( t ) = ( u 1 ( t ) , ⋯ , u M ( t ) ) T indicates the state of the input control signal at time t. A is the adjacency matrix of nodes in the networks, which describes the connectivity and interaction strength among nodes. B is the input matrix ( M ≤ N ), which describes the connective relation between the control signals and the nodes.</p><p>A = [ 0 0 0 0 a 21 0 0 0 a 31 0 0 a 34 a 41 0 0 0 ] ; B = [ b 1 0 0 b 2 0 0 0 0 ] ;</p><p>W = [ b 1 0 0 0 0 0 0 0 0 b 2 a 21 b 1 0 0 0 0 0 0 0 a 31 b 1 0 a 34 a 41 b 1 0 0 0 0 0 a 41 b 1 0 0 0 0 0 ]</p><p>Dynamics equation of a single node is</p><p>x ′ i = ∑ k = 1 N a i k x k ( t ) + ∑ j = 1 M a i j u j ( t ) (5)</p><p>If r a n k ( W ) = N , i.e. satisfying the Theorem 2, the network is controllable.</p><p>In general, an input signal u i ( t ) may have many driver nodes. The main goal of network controllability technology is to make the networks globally controllable with the least input control signals. Liu et al. [<xref ref-type="bibr" rid="scirp.119168-ref9">9</xref>] transformed this question into driver nodes required by the control network with the least amount, thus, solving the minimum driver node sets resolve the key problem of network control. According to the Theorem 1 and the Theorem 3, solve the maximum matching nodes and unmatched nodes in the directed graph. If all the unmatched nodes in the network are controlled by a direct input signal, the whole network is completely controllable [<xref ref-type="bibr" rid="scirp.119168-ref25">25</xref>], the unmatched nodes are driver nodes, as shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>.</p><p>Take a small network as an example in <xref ref-type="fig" rid="fig2">Figure 2</xref>(a). Firstly, the network is transformed into a bipartite graph structure, as shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>(b), observing the maximum matching edge of this bipartite graph [<xref ref-type="bibr" rid="scirp.119168-ref26">26</xref>], the maximum matching edge set of one combination is the red edge in <xref ref-type="fig" rid="fig2">Figure 2</xref>(c), it can be seen that v<sub>2</sub>,v<sub>3</sub>,v<sub>4</sub> and v<sub>5</sub> are matching nodes, v<sub>1</sub> is an unmatched node, i.e. a driver node. The controllable state is as shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>(d). v<sub>1</sub> makes all nodes reachable, so as to control the state of all nodes in the entire network.</p></sec></sec><sec id="s3"><title>3. Controllability of Software Networks</title><sec id="s3_1"><title>3.1. Extraction of Class-Level Software Networks</title><p>Analyzing the software source codes is the first step to obtain structural information. In object-oriented software, for instance, in <xref ref-type="fig" rid="fig3">Figure 3</xref>(a), classes are the most basic elements. Abstract the classes in the software source codes as nodes and the interaction relations between classes as edges in the networks. The whole extraction process is to get the class diagram in the software system first, seeing <xref ref-type="fig" rid="fig3">Figure 3</xref>(b), and then abstract it into a network model, seeing <xref ref-type="fig" rid="fig3">Figure 3</xref>(c).</p></sec><sec id="s3_2"><title>3.2. Controllable Mode of Software Networks</title><p>In real life, most real systems can be driven by nonlinear processes, but in fact, the controllability of nonlinear systems is very similar to linear systems in many aspects, such as structure [<xref ref-type="bibr" rid="scirp.119168-ref27">27</xref>]. The controllable condition of Kalman criterion is applied to any complex network and can also be used to deal with most nonlinear systems [<xref ref-type="bibr" rid="scirp.119168-ref9">9</xref>].</p><p>According to the idea of software engineering, class modules in the object-oriented software structure are regarded as nodes in the network, and the calling behaviors among classes are regarded as edges, so as to form software networks [<xref ref-type="bibr" rid="scirp.119168-ref28">28</xref>]. However, the interaction and information transmission among nodes is a control and being controlled process. Measure and control the software network topology from a macro perspective, so that the software system can run stably in various application fields. Therefore, how to control network topology with low cost and high efficiency is an urgent problem to be solved in software network structure control.</p><p>The Source-Driver (SD) model based on the analysis of the control process of complex networks is established, and the process of information transmission in the software network topology can be extracted SD model, as shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>. It is divided into two layers, namely source layer α and driver layer β. Nodes, as controllable targets, are planned in two layers. Nodes in layer α are source nodes (control nodes), they selectively send control signals to other nodes. Nodes in layer β are matching nodes and driver nodes. The driver nodes directly receive the control signals sent by the source nodes, and then transmit them to other nodes in the subnets at layer β.</p><p>In <xref ref-type="fig" rid="fig4">Figure 4</xref>, it describes a control situation of a directed controllable software network on the SD model. Assume there are three independent source nodes S<sub>1</sub>,S<sub>2</sub> and S<sub>3</sub> in layer α, they first send control signals to the driver nodes in the networks at layer β to control the whole network. The generation of driver node sets is not unique in complex networks, moreover, the signals sent by the source nodes to others in layer β are not completely random. Certainly, the matching between driver nodes and other nodes in layer β is not completely random, which is different from the previous researches on the controllability of complex networks. In the software networks, the relations, connections and information transmission among nodes are based on the dependencies and calls among various modules in the software systems. Therefore, source nodes selectively send control signals to the nodes in layer β on SD model in software networks to serve them. Naturally, a driver node is not controlled by only one source node, on the other hand, the more driver nodes a source nodes controls, the stronger their controlling force over the whole network.</p><p>Source nodes directly call driver nodes in SD model, relative to the huge networks, the number of driver nodes is less, it can be controlled the driver nodes to control the whole network. Thus, for software, the maintenance cost will be reduced, and the measurement efficiency will be improved.</p></sec></sec><sec id="s4"><title>4. Empirical Analyses</title><p>In the object-oriented software networks, center-degree is a characteristic parameter for discovering core nodes, which are locate in the central position, with the greatest influence in the entire network. Degree reflects the connection with adjacent nodes and depicts the mutual call behaviors among local modules in the structure of software system [<xref ref-type="bibr" rid="scirp.119168-ref29">29</xref>]. Out-degree and in-degree represent the direct control and being controlled states among various modules. Seeing the SD model framework, the size of driver node set in software networks is closely related to the feature of degree distribution.</p><p>Select 10 different scales of software to carry on the experiments, involving developed by object-oriented programming languages, such as C++ and Java. Extract them into software networks for different scales, and their basic statistics of network topology are shown in <xref ref-type="table" rid="table1">Table 1</xref>.</p><p>Make statistics on the characteristics of software networks, including the average degree of networks, average out-degree, average degree, average center-degree and driver node ratio. Their results are shown in <xref ref-type="fig" rid="fig5">Figure 5</xref>.</p><p>It can be seen intuitively in <xref ref-type="fig" rid="fig5">Figure 5</xref> that the average degree values of various software are all small, which indicates that the degree values of most nodes are low, and the average in-degree is greater than the average out-degree in all software networks. Except for Mysql, the average out-degree is basically similar to the average degree in other software networks, but for all of them, the average center-degree is the lowest. It explains that the design and interaction of modules in the software reduce the overall complexity. However, the driver node ratio in all software networks is about 0.5, which is slightly greater than that in other complex networks. One of the main goals of designing software at the beginning is to reduce the complexity of software structure, which is also convenient for subsequent software updates, just as the computed results presented in <xref ref-type="fig" rid="fig4">Figure 4</xref>, most nodes’ degree values are relatively low in software networks, driving nodes and matching nodes will be generated here. On the contrary, if degree values are high for most nodes, the calling relationships (connection edges) between modules within the software structure will be more. It can be concluded that the driver node sets tend to be composed of nodes with low degree value. That is, from the perspective of control cost, the better driver node is not with high value, which is basically consistent with the conclusion in literature [<xref ref-type="bibr" rid="scirp.119168-ref9">9</xref>].</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> The scales of software networks</title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >Firefox</th><th align="center" valign="middle" >Mysql</th><th align="center" valign="middle" >Jedit</th><th align="center" valign="middle" >Freetype</th><th align="center" valign="middle" >Eclipse</th><th align="center" valign="middle" >Dovecot</th><th align="center" valign="middle" >Abiword</th><th align="center" valign="middle" >Vuze</th><th align="center" valign="middle" >Openmap</th><th align="center" valign="middle" >Kaffe</th><th align="center" valign="middle" >Firefox</th><th align="center" valign="middle" >Mysql</th></tr></thead><tr><td align="center" valign="middle" >N</td><td align="center" valign="middle" >10,116</td><td align="center" valign="middle" >3457</td><td align="center" valign="middle" >930</td><td align="center" valign="middle" >358</td><td align="center" valign="middle" >17,604</td><td align="center" valign="middle" >371</td><td align="center" valign="middle" >1300</td><td align="center" valign="middle" >3678</td><td align="center" valign="middle" >1932</td><td align="center" valign="middle" >7849</td><td align="center" valign="middle" >10,116</td><td align="center" valign="middle" >3457</td></tr><tr><td align="center" valign="middle" >L</td><td align="center" valign="middle" >29,672</td><td align="center" valign="middle" >5480</td><td align="center" valign="middle" >3359</td><td align="center" valign="middle" >387</td><td align="center" valign="middle" >32,718</td><td align="center" valign="middle" >729</td><td align="center" valign="middle" >2117</td><td align="center" valign="middle" >10,525</td><td align="center" valign="middle" >4518</td><td align="center" valign="middle" >12,120</td><td align="center" valign="middle" >29,672</td><td align="center" valign="middle" >5480</td></tr></tbody></table></table-wrap><p>However, for a node, degree indicator cannot fully explain the importance and control force. Although there may be a large number of low degree nodes in the driver node sets, nodes with middle degree or high degree can still be found. Software networks, as scale-free networks, the degree distribution of nodes obeys the power-law distribution [<xref ref-type="bibr" rid="scirp.119168-ref30">30</xref>]. Reducing the degree value is to avoid overly complex construction in the software system structure. The selection of driver node sets should also consider the attribute characteristics of a node itself. In software networks, center-degree (Definition 3) is an indicator evaluated the importance and influence of nodes. The larger its value is, the closer it is to the central position of the networks, also is the core position. As shown in <xref ref-type="fig" rid="fig6">Figure 6</xref>.</p><p>Select 10 different scales of software to analyze the relationship between degree and center-degree of nodes in network topology. In order to observe clearly, take the double logarithmic coordinates of <xref ref-type="fig" rid="fig6">Figure 6</xref>. It can be seen that there are three types of nodes in the six software networks: 1) Nodes with high degree and center-degree, which may be no more than 5 such nodes in the software networks. They are generally core nodes, and are responsible for completing the main functions of the software systems. 2) Nodes with low degree and high center-degree. Although such nodes are part of the main functional modules of the software system, their constructions are not complex, for example, the login interface in a common software system is this kind of module. 3) Nodes with low degree and center-degree. Most of these nodes correspond to the basic units within the software systems to complete some basic functions, and the logical compositions of these modules are simple. It can be concluded that nodes with high degree must have high center-degree, but the opposite may not be true, that is to say, nodes with high center-degree do not certainly have high degree. Therefore, when selecting the driver node sets, the first type of nodes is the primary consideration.</p><p>Combining with SD model, the control extent of nodes is closely related to their in-degree and out-degree. The driver nodes use the in-degree indicator to characterize the received control signals, and out-degree for output signals. So in-degree and out-degree affect the behaviors of driver nodes together. In that way, it is necessary to analyze the relationship between the in-degree and out-degree of nodes. Orphan nodes and the leaf nodes of these 10 software networks are dislodged, and then take the double logarithmic coordinates as the distribution diagram, as shown in <xref ref-type="fig" rid="fig7">Figure 7</xref>.</p><p>It can be seen that the in-degree and out-degree of most nodes present linear relation in the directed software networks and a few nodes have deviation, which is also the reason why the nodes in software networks are generally with low degree. Moreover, the nodes in a small area below the straight line reduce the matching process among nodes. Digging deep into the architecture of a software system, some interesting phenomena will be found. Take Firefox as an example, extract its network topology, as shown in <xref ref-type="fig" rid="fig8">Figure 8</xref>.</p><p>In the visualized diagram, the size of a node represents its degree value, and different colorings represent different degree values, the larger the size of a node, the higher the degree value. The figure presents a local aggregation phenomenon. They are connected to a few nodes. It also shows that the degree values of most nodes are not large, illustrating that the interaction preference of nodes, that is, the nodes with small degree values are attached to for those with large degree values.</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Comparison of characteristic parameters of Firefox software network</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Node number</th><th align="center" valign="middle" >Node name</th><th align="center" valign="middle" >d<sup>in</sup></th><th align="center" valign="middle" >d<sup>out</sup></th><th align="center" valign="middle" >d</th><th align="center" valign="middle" >C</th></tr></thead><tr><td align="center" valign="middle" >5784</td><td align="center" valign="middle" >“nsISecurityPref” interface</td><td align="center" valign="middle" >1797</td><td align="center" valign="middle" >1797</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0.1439</td></tr><tr><td align="center" valign="middle" >3507</td><td align="center" valign="middle" >“nsCOMPtr” class</td><td align="center" valign="middle" >1233</td><td align="center" valign="middle" >1223</td><td align="center" valign="middle" >10</td><td align="center" valign="middle" >0.1232</td></tr><tr><td align="center" valign="middle" >4611</td><td align="center" valign="middle" >“nsICSSPseudoElement” class</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >0.1231</td></tr><tr><td align="center" valign="middle" >4364</td><td align="center" valign="middle" >“nsHypotheticalBox” struct</td><td align="center" valign="middle" >410</td><td align="center" valign="middle" >398</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >0.0978</td></tr><tr><td align="center" valign="middle" >568</td><td align="center" valign="middle" >“already_AddRefed” struct</td><td align="center" valign="middle" >143</td><td align="center" valign="middle" >143</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0.0487</td></tr><tr><td align="center" valign="middle" >6951</td><td align="center" valign="middle" >“nsRefPtr” class</td><td align="center" valign="middle" >347</td><td align="center" valign="middle" >203</td><td align="center" valign="middle" >144</td><td align="center" valign="middle" >0.1095</td></tr><tr><td align="center" valign="middle" >9999</td><td align="center" valign="middle" >“XPCWrappedNativeScope” class</td><td align="center" valign="middle" >15</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >6E-06</td></tr></tbody></table></table-wrap><p>Select 6 special nodes ulteriorly, listed in <xref ref-type="table" rid="table2">Table 2</xref>, and then contrast their in-degreed<sup>in</sup>, out-degree d<sup>out</sup>, degree d and center-degree C.</p><p>As a result, it can be found that the No. 5784 node has the largest value of center-degree, but its in-degree value is equal to out-degree value, they also are the largest, moreover, its degree value is 0, which is an extreme case. On the contrary, the No. 4611 node has the smallest in-degree value and out-degree value, but its center-degree value is very large. From those analyses, it can be concluded that the degree values cannot veritably reflect the situation of sending and receiving signals among nodes in the directed networks, control behaviors and states should be measured in in-degree and out-degree of nodes. That is to say, in-degree and out-degree are also important factors to select the driver node sets.</p></sec><sec id="s5"><title>5. Conclusions</title><p>The control problem of complex networks is always a direction that people are keen to research. While the theoretical research results are constantly abundant, broadening the application field is the practical significance of scientific research. Integrating software networks with control theory opens up a new perspective for measuring the structural complexity of software networks. In this paper, the controllability of software networks has been discussed in this direction.</p><p>The effective control of networks largely depends on the selection of the driver node sets. In this way, the SD model with two lays is established to analyze the control process of software network topology. Based on it, the relationship between degree and center-degree combined with the topological characteristics of software networks is analyzed, and the results illustrate that most of the driver node sets tend to be composed of nodes with a low degree, but the nodes with high center-degree should be given priority to consider. Subsequently, the correlation between in-degree and out-degree is analyzed, and the 4 metrics are contracted by going deep into the software system structure, it can be found that although the degree values of some nodes are very small, the in-degree and out-degree values are very different, corresponding the center-degree values are changeable, for this reason, such nodes should be paid close attention when controlling the software network structure. Especially, in-degree and center-degree are the key factors of node control.</p><p>There is still a lot of space for research on the controllability of software networks. In the future, the topological characteristics of the driver node sets in the software network and their information transmission will be studied deeply, so as to maintain the smooth and safe operation of software.</p></sec><sec id="s6"><title>Acknowledgements</title><p>Project supported by the Basic Scientific Research Project of Education Department of Liaoning Province (Surface Project) (Grant No. LJKZ1065).</p></sec><sec id="s7"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s8"><title>Cite this paper</title><p>Tian, H., Meng, X.W., Hu, N., Wang, Y.C. and Yang, T.Y. (2022) Research on the Controllability of Software Networks Based on the Source- Driven Model. Journal of Computer and Communications, 10, 26-40. https://doi.org/10.4236/jcc.2022.108003</p></sec></body><back><ref-list><title>References</title><ref id="scirp.119168-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Wang, J. (2019) Research on Complexity and Evolution Analysis of Open Source Operating System Software Based on Software Network Model. National University of Defense Technology, Changsha. (In Chinese)</mixed-citation></ref><ref id="scirp.119168-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">He, K.Q., Ma, Y.T., Liu, J., et al. (2008) Software Network. Science Press, Beijing. (In Chinese)</mixed-citation></ref><ref id="scirp.119168-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Li, P., Zhao, H., Qiao, Y., et al. (2010) A Platform of Software Network Measurement Design and Implement. The 2nd IEEE International Conference on Advanced Computer Control, Vol. 2, 336-339. https://doi.org/10.1109/ICACC.2010.5486661</mixed-citation></ref><ref id="scirp.119168-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Pan, H., Zhen, W., Zhang, Z.F., et al. (2019) Study on Fractal Features of Software Networks. Computer Science, 46, 166-170.</mixed-citation></ref><ref id="scirp.119168-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Pan, W.F., Jiang, B. and Li, B. (2013) Refactoring Software Packages via Community Detection in Complex Software Networks. International Journal of Automation and Computing, 10, 157-166. https://doi.org/10.1007/s11633-013-0708-y</mixed-citation></ref><ref id="scirp.119168-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Liu, H.Q. (2019) Research on Application of Network System Software Based on Large Data Analysis. The 2nd International Conference on Computer Science and Advanced Materials, Tianjin, 16 February 2019, 407-409.https://webofproceedings.org/proceedings_series/ECS/CSAM%202019/CSAM1982.pdf</mixed-citation></ref><ref id="scirp.119168-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Wang, W.X., Ni, X., Lai, Y.C., et al. (2012) Optimizing Controllability of Complex Networks by Minimum Structural Perturbations. Physical Review E, 85, Article ID: 026115. https://doi.org/10.1007/s11633-013-0708-y</mixed-citation></ref><ref id="scirp.119168-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Chen, G.R. (2013) Problems and Challenges in Control Theory under Complex Dynamical Network Environments. Acta Automatica Sinica, 39, 312-321. https://doi.org/10.1016/S1874-1029(13)60032-4</mixed-citation></ref><ref id="scirp.119168-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Liu, Y., Slotine, J. and Barabási, A.L. (2011) Controllability of Complex Networks. Nature, 473, 167-173. https://doi.org/10.1038/nature10011</mixed-citation></ref><ref id="scirp.119168-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Yuan, Z.Z., Zhao, C., Di, Z.R., et al. (2013) Exact Controllability of Complex Networks. Nature Communications, 4, 167-173. https://doi.org/10.1038/ncomms3447</mixed-citation></ref><ref id="scirp.119168-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Zhang, X.Z., Lv, T.Y., Luan, H., et al. (2015) Analysis of Minimum Driver Node Set of Complex Network based on Random Matching. Control and Decision, 30, 751-754.</mixed-citation></ref><ref id="scirp.119168-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Posfai, M., Liu, Y.Y., Slotine, J.J., et al. (2013) Effect of Correlations on Network Controllability. Scientific Reports, 3, Article No. 1067. https://doi.org/10.1038/srep01067</mixed-citation></ref><ref id="scirp.119168-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Liu, L.S. and Pang, P.S. (2020) Effect of Degree Correlation on Edge Controllability of Real Networks. Chinese Physics B, 29, Article ID: 100202. https://doi.org/10.1088/1674-1056/ab99ab</mixed-citation></ref><ref id="scirp.119168-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Wang, W., Li, T., He, Y., et al. (2016) A Hybrid Approach for Ripple Effect Analysis of Software Evolution Activities. Journal of Computer Research and Development, 53, 503-516.</mixed-citation></ref><ref id="scirp.119168-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Ma, Y.T., He, K.Q., Li, B., et al. (2011) Empirical Study on the Characteristics of Complex Networks in Networked Software. Journal of Software, 22, 381-407. https://doi.org/10.3724/SP.J.1001.2011.03934</mixed-citation></ref><ref id="scirp.119168-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Liu, M.L., Qi, X.G. and Pan, H. (2022) Multifractal Analysis of the Software Evolution in Software Networks. Chinese Physics B, 31, Article ID: 030501. https://doi.org/10.1088/1674-1056/ac1b8a</mixed-citation></ref><ref id="scirp.119168-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Ren, J., Wu, H., Yin, T. and Bai, L. (2015) A Novel Approach for Mining Important Nodes in Directed-Weighted Complex Software Network. Journal of Computational Information Systems, 11, 3059-3071.</mixed-citation></ref><ref id="scirp.119168-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Zang, B., Sun, S.T. and Hao, X.B. (2020) Mining Important Functions in Software Network by Node Vulnerability. Journal of Physics Conference Series, 1453, Article ID: 012015. https://doi.org/10.1088/1742-6596/1453/1/012015</mixed-citation></ref><ref id="scirp.119168-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Chen, G.R. (2014) Pinning Control and Synchronization on Complex Dynamical Networks. International Journal of Control, Automation and Systems, 12, 221-230. https://doi.org/10.1007/s12555-014-9001-2</mixed-citation></ref><ref id="scirp.119168-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Li, H., Zhao, H., Cai, W., et al. (2013) A Modular Attachment Mechanism for Software Network Evolution. Physica A: Statistical Mechanics &amp; Its Applications, 392, 2025-2037. https://doi.org/10.1016/j.physa.2013.01.035</mixed-citation></ref><ref id="scirp.119168-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Lv, T.Y., Piao, X.F., Xie, W.Y., et al. (2012) Controllability of Complex Networks Based on Propagation Immunization. Acta Physica Sinica, 61, Article ID: 170512. https://doi.org/10.7498/aps.61.170512</mixed-citation></ref><ref id="scirp.119168-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Xu, J.Q., Gui, J.W., Zhao, H., et al. (2013) Evolution Analysis of Closeness of Software Macrotopology. Journal of Northeastern University (Natural Science), 34, 646-649. http://xuebao.neu.edu.cn/natural/EN/Y2013/V34/I5/646</mixed-citation></ref><ref id="scirp.119168-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Kalman, R.E. (1963) Mathematical Description of Linear Dynamical Systems. Journal of the Society for Industrial &amp; Applied Mathematics, Series A: Control, 1, 152-192. https://doi.org/10.1137/0301010</mixed-citation></ref><ref id="scirp.119168-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Liu, C.T. (1974) Structural Controllability. IEEE Transactions on Automatic Control, 19, 201-208. https://doi.org/10.1109/TAC.1974.1100557</mixed-citation></ref><ref id="scirp.119168-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Ai, J. (2013) Research on Techniques of Target Node Analysis in Complex Networks. Northeastern University, Shenyang. (In Chinese)</mixed-citation></ref><ref id="scirp.119168-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Tamás, N. and Tamás, V. (2012) Controlling Edge Dynamics in Complex Networks. Nature Physics, 8, 568-573. https://doi.org/10.1038/nphys2327</mixed-citation></ref><ref id="scirp.119168-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">Li, Z., Ring, P., Kym, M., et al. (1991) Applied Nonlinear Control. Prentice-Hall, Hoboken. https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.70.7100&amp;rep=rep1&amp;type=pdf</mixed-citation></ref><ref id="scirp.119168-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">Gu, Q. and Chen, D.X. (2014) Validation and Simulation of Software System Evolution Rules Using Software Networks. Science China: Information Science, 44, 20-26.</mixed-citation></ref><ref id="scirp.119168-ref29"><label>29</label><mixed-citation publication-type="other" xlink:type="simple">Gu, Q., Xiong, S.J. and Chen, D.X. (2014) Correlations between Characteristics of Maximum Influence and Degree Distributions in Software Networks. Science China (Information Sciences), 57, 21-32. https://doi.org/10.1007/s11432-013-5047-7</mixed-citation></ref><ref id="scirp.119168-ref30"><label>30</label><mixed-citation publication-type="other" xlink:type="simple">Wang, J.R., Wang, J.P., He, Z., et al. (2015) Degree Distribution and Robustness of Cooperative Communication Network with Scale-Free Model. Chinese Physics B, 24, Article ID: 060101. https://doi.org/10.1088/1674-1056/24/6/060101https://iopscience.iop.org/article/10.1088/1674-1056/24/6/060101</mixed-citation></ref></ref-list></back></article>