# Analysis of Open Source Operating System Evolution: A Perspective from Package Dependency Network Motif

^{*}

## Abstract

**:**

## 1. Introduction

- It establishes software package dependency network for open-source operating system, which regarding packages as nodes and dependency relationships as edges among nodes.
- On account of software package dependency network, this paper employs Rand_ESU algorithm to detect motif structures.
- This paper takes Ubuntu Kylin Linux as a research object and explores motif evolution of the system.

## 2. Package Dependency Network

#### 2.1. Open Source Operating System Package

- They are used to create user accounts on a system.
- They help to set ownership and permissions of related files after installation of the system.
- They provide creation or modification of configuration files that are not actually contained in the .Rpm or .Deb file, which are two fundamental patterns of released software packages.
- They assist running shell commands as root, which has a super power of the system.
- They specify dependency of the current package.

#### 2.2. Software Package Dependency Network

Algorithm 1 Framework of extracting package dependency network. |

1: for $i=1$ to n do |

2: initialize all vertices, v_{i} ← package names |

3: end for |

4: for $i=1$ to n do |

5: for $j=1$ to $i-1$, $i-1$ to n do |

6: scan the dependencies list of v_{i} |

7: add an edge when dependency exit between v_{i} and v_{j} |

8: end for |

9: end for |

10: delete redundant edges |

11: store the graph as a table |

12: visualization |

## 3. Network Motif and Its Detection

#### 3.1. Definition of Network Motif

- The frequency of occurrence in the input network graph is significantly higher than that in a series of random network graphs generated from the input network and having the same degree sequence with it.
- The probability that the frequency of the subgraph in the random network corresponding to the input network is greater than the frequency of its occurrence in the input network is very small.
- The frequency of such connected subgraphs in the input network is not less than a certain lower limit value. Here, subgraphs of the same type refer to all isomorphic subgraphs.

#### 3.2. Detection Algorithm of Network Motif

- Label the nodes in the input network and generate a random network set.
- Search the labeled graph by traversal subgraph, and sample the subgraph according to a certain sampling method.
- Make isomorphic judgment and classification on the sampled subgraph. Record the frequency of the corresponding subgraphs and obtain the set of subgraphs.
- According to the frequency of each kind of subgraph, the appropriate significant judgement indicator is calculated to determine whether it is a motif.

#### 3.2.1. Significant Judgment Method

- P-value ≤ P
- Z-score ≥ D
- f(V) > U

#### 3.2.2. Detection Algorithm

Algorithm 2 Framework of Enumerate Subgraphs: Rand_ESU. |

Input: A Graph $G=(V,E)$ and an integer $1\le k\le \left|V\right|$ |

Output: All size-k subgraph in G |

1: for each vertex $v\in V$ do |

2: ${V}_{Extension}\leftarrow \{u\in N\left(\left\{v\right\}\right):u>v\}$ |

3: with probability ${p}_{d}$ call ExtendSubgraphs($\left\{v\right\},{V}_{Extension},v$) |

4: end for |

5: return |

Algorithm 3 Framework of Extend Subgraphs: ExtendSubgraphs. |

Input: A Graph $G=(V,E)$ and an integer $1\le k\le \left|V\right|$ |

Output: Size-k subgraph in G |

1: if $|{V}_{Subgrpah}|=k$ then |

2: output $G\left[{V}_{Subgrpah}\right]$ |

3: end if |

4: while ${V}_{Extension}\ne NULL$ do |

5: remove and arbitrarily choose vertex $\omega $ from ${V}_{Extension}$ |

6: ${V}_{Extension}^{\prime}\leftarrow {V}_{Extension}\bigcup \{u\in {N}_{gxcl}(\omega ,{V}_{Subgrpah}):u>v\}$ |

7: with probability ${p}_{d}$ call ExtendSubgraphs(${V}_{Subgrpah}\bigcup \left\{\omega \right\},{V}_{Extension}^{\prime},v$) |

8: end while |

9: return |

## 4. Results

## 5. Conclusions

## Author Contributions

## Funding

## Acknowledgments

## Conflicts of Interest

## References

- Barabási, A.L. The network takeover. Nat. Phys.
**2012**, 8, 14–16. [Google Scholar] [CrossRef] - Luciano, F.; Rodrigues, A.; Travieso, G.; Boas, V.P.R. Characterization of complex networks: A survey of measurements. Adv. Phys.
**2007**, 56, 167–173. [Google Scholar] - Chauhan, M.A. A Survey of Open Source Software Evolution Studies. In Proceedings of the 17th Asia Pacific Software Engineering Conference, Sydney, Australia, 30 November–3 December 2010; Volume 4, pp. 163–173. [Google Scholar]
- Breivold, H.P.; Crnkovic, I.; Larsson, M. A systematic reviwe of software architecture evolution research. Inf. Softw. Technol.
**2012**, 54, 16–40. [Google Scholar] [CrossRef] - Milo, R.; Shen-Orr, R.; Itzkovitz, S. Network Motifs: Simple Building Blocks of Complex Networks. Science
**2002**, 298, 824–827. [Google Scholar] [CrossRef] [PubMed] [Green Version] - Barabási, A.L.; Oltvai, Z.N. Network biology: Understanding the cells functional organization. Nature
**2004**, 5, 101–113. [Google Scholar] [CrossRef] [PubMed] - Xu, L.; Huang, L.; Wang, C. Motif-Preserving Network Representation Learning. J. Front. Comput. Sci. Technol.
**2019**, 0, 1–11. [Google Scholar] - Shen-Orr, S.S.; Milo, R. Network motifs in the transcripthinal regulation network of Escherichia coli. Nat. Genertics
**2002**, 298, 64–68. [Google Scholar] [CrossRef] [PubMed] - Milo, R.; Itzkovitsz, S.; Kashtan, N. Superfamilies of evolved and designed networks. Science
**2004**, 303, 1538–1542. [Google Scholar] [CrossRef] [PubMed] - Benson, A.R.; Gleich, D.F.; Leskovec, J. Higher-order organization of complex networks. Science
**2016**, 353, 163–166. [Google Scholar] [CrossRef] [PubMed] [Green Version] - Barabási, A.L.; Albert, R. Emergence of scaling in random networks. Science
**1999**, 286, 509–512. [Google Scholar] [PubMed] - Suartini, T.; Garlaschelli, D. Tradic motifs and dyadic self-organization in the World Trade Network. In Proceedings of the International Workshop on Self-Organizing Systems, Delft, The Netherlands, 15–16 March 2012; Volume 56, pp. 24–35. [Google Scholar]
- Hamilton, W.L.; Ying, R.; Leskovec, J. Representation learning on graphs: Methods and applications. Bull. IEEE Comput. Soc. Tech. Comm. Data Eng.
**2017**, 40, 52–74. [Google Scholar] - Garlaschelli, D.; Ruzzenenti, F.; Basosi, R. Complex networks and symmetry I: A review. Symmetry
**2010**, 2, 1683–1709. [Google Scholar] [CrossRef] - Ball, F.; Geyer-Schulz, A. How symmetric are real-world graphs? A large-scale study. Symmetry
**2018**, 10, 29. [Google Scholar] [CrossRef] - Kashtan, N.; Itzkovitsz, S.; Milo, R. Topological generalization of network motifs. Phys. Rev. E
**2004**, 70, 031909. [Google Scholar] [CrossRef] [PubMed] - Martin, D.H.; Cordy, J.R. On the maintenance complexity of makefiles. In Proceedings of the 7th International Workshop on Emerging Trends in Software Metrics, Austin, TX, USA, 14–22 May 2016; Volume 53, pp. 14–22. [Google Scholar]
- Kumar, L.; Misra, S.; Ratha, S.K. An empirical analysis of the effectiveness of software metrics and fault prediction model for identifying faulty classes. Comput. Stand. Interfaces
**2017**, 53, 1–32. [Google Scholar] [CrossRef] - Jaafar, F.; Lozano, A.; Guhneuc, Y.; Mens, K. Analyzing software evolution and quality by extracting Asynchrony change patterns. J. Syst. Softw.
**2017**, 131, 311–322. [Google Scholar] [CrossRef] [Green Version] - Rodríguez, M.A. Graphicality conditions for general scale-free complex networks and their application to visibility graphs. Phys. Rev. E
**2016**, 94, 012314. [Google Scholar] [CrossRef] [PubMed]

**Figure 3.**Motif structure of Ubuntu Kylin software package dependency network from version $13.10$ to $18.10$. The number of each motif is given by detection algorithm. Here, this paper uses them directly.

ID | Frequency | Average Frequency | Standard Deviation | Z-Score | p-Value |
---|---|---|---|---|---|

6 | 92.815% | 92.344% | 0.00023674 | 19.86 | 0 |

38 | 1.2974% | 0.76752% | 0.00028327 | 18.705 | 0 |

46 | 0.017378% | 0.00043124% | 6.66 × 10^{−6} | 25.445 | 0 |

166 | 0.0045094% | 0.0018502% | 3.2985 × 10^{−6} | 8.0619 | 0 |

ID | Frequency | Average Frequency | Standard Deviation | Z-Score | p-Value |
---|---|---|---|---|---|

6 | 94.142% | 93.705% | 0.00021961 | 19.902 | 0 |

38 | 1.1316% | 0.65306% | 0.00025559 | 18.723 | 0 |

46 | 0.01449% | 0.0003343% | 5.8019 × 10^{−6} | 24.397 | 0 |

166 | 0.0022178% | 0.0011312% | 2.0729 × 10^{−6} | 5.242 | 0 |

ID | Frequency | Average Frequency | Standard Deviation | Z-Score | p-Value |
---|---|---|---|---|---|

6 | 93.846% | 93.384% | 0.00021671 | 21.36 | 0 |

38 | 1.1809% | 0.66908% | 0.00025403 | 20.149 | 0 |

46 | 0.014658% | 0.00011946% | 1.4697 × 10^{−6} | 98.921 | 0 |

166 | 0.0028834% | 0.0011805% | 2.1485 × 10^{−6} | 7.9264 | 0 |

ID | Frequency | Average Frequency | Standard Deviation | Z-Score | p-Value |
---|---|---|---|---|---|

6 | 93.729% | 93.259% | 0.00015969 | 29.414 | 0 |

38 | 1.0851% | 0.5749% | 0.00018688 | 27.299 | 0 |

46 | 0.019033% | 0.00017485% | 1.9217 × 10^{−6} | 98.132 | 0 |

166 | 0.0022191% | 0.00084671% | 1.9515 × 10^{−6} | 7.0327 | 0 |

ID | Frequency | Average Frequency | Standard Deviation | Z-Score | p-Value |
---|---|---|---|---|---|

6 | 93.911% | 93.466% | 0.000169969 | 26.2 | 0 |

38 | 1.0488% | 0.56156% | 0.00017915 | 27.198 | 0 |

46 | 0.018577% | 0.0033692% | 6.1828 × 10^{−5} | 2.4597 | 0 |

166 | 0.0019555% | 0.00073805% | 1.5201 × 10^{−6} | 8.0085 | 0 |

ID | Frequency | Average Frequency | Standard Deviation | Z-Score | p-Value |
---|---|---|---|---|---|

6 | 93.271% | 92.815% | 0.00015638 | 29.166 | 0 |

38 | 1.0802% | 0.57927% | 0.00018556 | 26.995 | 0 |

46 | 0.018186% | 3.8517 × 10^{−5}% | 7.6252 × 10^{−7} | 237.99 | 0 |

166 | 0.0024383% | 0.0009276% | 2.1076 × 10^{−6} | 7.16709 | 0 |

ID | Source Package | Target Package |
---|---|---|

1 | gconf-service | gconf-service-backed |

2 | grub-pc | grub-gfxpayload-lists |

3 | libc6 | libgcc1 |

4 | perl-module | perl |

5 | python3-update-manager | python3-distupgrade |

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Wang, J.; Li, Y.; Tan, Y.; Wu, Q.; Wu, Q.
Analysis of Open Source Operating System Evolution: A Perspective from Package Dependency Network Motif. *Symmetry* **2019**, *11*, 298.
https://doi.org/10.3390/sym11030298

**AMA Style**

Wang J, Li Y, Tan Y, Wu Q, Wu Q.
Analysis of Open Source Operating System Evolution: A Perspective from Package Dependency Network Motif. *Symmetry*. 2019; 11(3):298.
https://doi.org/10.3390/sym11030298

**Chicago/Turabian Style**

Wang, Jing, Youguo Li, Yusong Tan, Qingbo Wu, and Quanyuan Wu.
2019. "Analysis of Open Source Operating System Evolution: A Perspective from Package Dependency Network Motif" *Symmetry* 11, no. 3: 298.
https://doi.org/10.3390/sym11030298