Evolution of a Modular Software Network

11/22/2011
by   Miguel A. Fortuna, et al.
0

"Evolution behaves like a tinkerer" (Francois Jacob, Science, 1977). Software systems provide a unique opportunity to understand biological processes using concepts from network theory. The Debian GNU/Linux operating system allows us to explore the evolution of a complex network in a novel way. The modular design detected during its growth is based on the reuse of existing code in order to minimize costs during programming. The increase of modularity experienced by the system over time has not counterbalanced the increase in incompatibilities between software packages within modules. This negative effect is far from being a failure of design. A random process of package installation shows that the higher the modularity the larger the fraction of packages working properly in a local computer. The decrease in the relative number of conflicts between packages from different modules avoids a failure in the functionality of one package spreading throughout the entire system. Some potential analogies with the evolutionary and ecological processes determining the structure of ecological networks of interacting species are discussed.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/11/2016

Package equivalence in complex software network

The public package registry npm is one of the biggest software registry....
research
01/23/2021

Präzi: From Package-based to Call-based Dependency Networks

Software reuse has emerged as one of the most crucial elements of modern...
research
12/03/2018

On the Relationship Between Modularity and Stability in Software Packages

Modular and well-written software is an ideal that programmers strive to...
research
05/13/2020

Many-Objective Software Remodularization using NSGA-III

Software systems nowadays are complex and difficult to maintain due to c...
research
02/06/2022

"I Shake The Package To Check If It's Mine": A Study of Package Fetching Practices and Challenges of Blind and Low Vision People in China

With about 230 million packages delivered per day in 2020, fetching pack...
research
09/29/2021

gwverse: a template for a new generic Geographically Weighted Rpackage

GWR is a popular approach for investigating the spatial variation in rel...
research
09/04/2017

Code Staging in GNU Guix

GNU Guix is a " functional " package manager that builds upon earlier wo...

Please sign up or login with your details

Forgot password? Click here to reset