Correlation between Complex Network Features and Robustness in Linux Kernel Modules

After studying the node degree distribution and average path length of the kernel module call graphs of 223 Linux kernels (V1.1.0 to V2.4.35), we have found that the call graphs of the file system, drivers, kernel, and memory management modules are scale-free small-world complex networks that exhibit strong clustering tendency. Using the random error case and attack case methods, we investigated the robustness of the modules by removing the nodes in their call graphs. We further proposed the Critical Removal Ratio to measure the robustness of these modules from the point view of complex networks. Finally, we showed correlations between robustness and the complex network features of kernel modules.

[1]  Valérie Issarny,et al.  Multi-view description of software architectures , 1998, ISAW '98.

[2]  James Noble,et al.  Scale-free geometry in OO programs , 2005, CACM.

[3]  Massimo Marchiori,et al.  A topological analysis of the Italian electric power grid , 2004 .

[4]  Katsuro Inoue,et al.  An Exploration of Power-Law in Use-Relation of Java Software Systems , 2008 .

[5]  Chen Yang,et al.  Linux kernels as complex networks: A novel method to study evolution , 2009, 2009 IEEE International Conference on Software Maintenance.

[6]  Chen Yang,et al.  Evolution and stability of Linux kernels based on complex networks , 2011, Science China Information Sciences.

[7]  James Noble,et al.  Scale-free Geometry in Object-Oriented Programs , 2004 .

[8]  Meir M. Lehman,et al.  Evolution in software and related areas , 2001, IWPSE '01.

[9]  Massimo Marchiori,et al.  Error and attacktolerance of complex network s , 2004 .

[10]  Nathan LaBelle,et al.  Inter-Package Dependency Networks in Open-Source Software , 2004, ArXiv.

[11]  Mark E. J. Newman,et al.  Power-Law Distributions in Empirical Data , 2007, SIAM Rev..

[12]  Rick Kazman,et al.  An approach to software architecture analysis for evolution and reusability , 1997, CASCON.

[13]  Lian Wen,et al.  Software Engineering and Scale-Free Networks , 2009, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

[14]  Mark E. J. Newman,et al.  The Structure and Function of Complex Networks , 2003, SIAM Rev..

[15]  M. E. J. Newman,et al.  Power laws, Pareto distributions and Zipf's law , 2005 .

[16]  Damien Challet,et al.  Bug propagation and debugging in asymmetric software structures , 2004, Physical review. E, Statistical, nonlinear, and soft matter physics.

[17]  Steven Skiena,et al.  Implementing discrete mathematics - combinatorics and graph theory with Mathematica , 1990 .

[18]  Takako Nakatani,et al.  Analysis of software evolution processes using statistical distribution Models , 2002, IWPSE '02.

[19]  R. Ferrer i Cancho,et al.  Scale-free networks from optimal design , 2002, cond-mat/0204344.

[20]  Wang Lei,et al.  On the evolution of Linux kernels , 2013 .

[21]  Harald C. Gall,et al.  Populating a Release History Database from version control and bug tracking systems , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[22]  H E Stanley,et al.  Classes of small-world networks. , 2000, Proceedings of the National Academy of Sciences of the United States of America.

[23]  Harald C. Gall,et al.  Improving evolvability through refactoring , 2005, ACM SIGSOFT Softw. Eng. Notes.

[24]  Michalis Faloutsos,et al.  Graph-based analysis and prediction for software evolution , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[25]  R. Solé,et al.  Self-organization versus hierarchy in open-source social networks. , 2007, Physical review. E, Statistical, nonlinear, and soft matter physics.

[26]  Dewayne E. Perry,et al.  Implications of evolution metrics on software maintenance , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[27]  Christopher R. Myers,et al.  Software systems as complex networks: structure, function, and evolvability of software collaboration graphs , 2003, Physical review. E, Statistical, nonlinear, and soft matter physics.

[28]  Sergi Valverde,et al.  Hierarchical Small Worlds in Software Architecture , 2003 .

[29]  Samantha Jenkins,et al.  Software architecture graphs as complex networks: A novel partitioning scheme to measure stability and evolution , 2007, Inf. Sci..

[30]  David Garlan,et al.  Architecture-driven modelling and analysis , 2007 .

[31]  Michael W. Godfrey,et al.  Evolution in open source software: a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.

[32]  Duncan J. Watts,et al.  Collective dynamics of ‘small-world’ networks , 1998, Nature.

[33]  Michele Marchesi,et al.  Power-Laws in a Large Object-Oriented Software System , 2007, IEEE Transactions on Software Engineering.

[34]  Harald C. Gall,et al.  Fine-grained analysis of change couplings , 2005, Fifth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'05).

[35]  Mourad Oussalah,et al.  A unified approach for software architecture evolution at different abstraction levels , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[36]  Chen Yang,et al.  On the evolution of Linux kernels: a complex network perspective , 2013, J. Softw. Evol. Process..