Operating systems are critical infrastructures for the information systems. Malfunction of certain function component can induce unexpected risks and countless damage for the computing service based on the operating systems. While it is critical for understanding the failure mechanism of operating system, it remains unclear how the function components interact with each other. Here we study these interactions in the kernel of Android OS by modeling the operating system as a complex network. In this network, each node represents a function and links are various call relationship between them. With community analysis, we find three different relations between the topological statistics and the community size. To reveal the organization vulnerability in different scale, we also perform the percolation analysis and identify the critical structures of this software networks. Our findings may help to understand the system complexity and design corresponding software testing methods.
As a one of the largest man-made systems, the software system is a typical complex system and will become more complicated due to the increasing and multiple requirements. For instance, even a simple component of a software system needs more than millions of LOC(lines of code). Thus, it is urgent to well understand the interaction in this complex system, given the frequent failures even if it is written by experts . The traditional analysis methods have mainly focus on the code level. Complex network theory, as an emerging and hot analytical tool for complex systems, can be used to understand the complex software system in a global scale. The application of complex network theory to the software system emerged in 2003 by Myers CR . Concas G et al.  and Louridas P et al.  subsequently observed the power-laws in software system. The scale-free and small-world features were further proved in software networks by Valverde et al. . Gorshenev and Pis’mak  utilized the natural selection model to interpret the evolution of software system. Code Shoppy
Nowadays, the demand of smartphones is fast growing, which requires to study the reliability of their operating system as foundation of the whole software systems in smartphones. As one of the main operating system, reliability of Android system is critical for the system performance, especially with various interaction among a huge number of functions. Android is a Linux-based operating system (OS) with its framework consisting of 5 levels from bottom to top: Linux Kernel , HAL, Native Libraries & Android Runtime, Android Framework and Applications. The major faults in Android OS occur in the following components : Audio, Camera, Bluetooth, Phone, Kernel, WIFI, etc. Due to its essential role in system function, the failures in kernel may lead to the fatal error in the whole system, so that the analysis of kernel is essential and valuable for the reliability and stability of Android OS. The investigation of kernel is based on the exploration of functions and their call relations in kernel. The study of call function has been performed in . C. Wright et al.  proposed a general support method to minimize the impact to linux kernel by using LSM (Linux Security Module). Weining Gu et al.  observed the linux kernel behavior under errors by expriments. Koon-Kiu Yan et al.  analyzed the topology and evolution of Linux-kernel network compared with genomes by building the hierarchical structures. https://codeshoppy.com/android-app-ideas-for-students-college-project.html