Software and Biological Evolvability: A Comparison Using Key Properties

Biological and software systems share a common property from evolution: they need to change and adapt to either a new environment or a new requirement. If the environment or requirement changes, those systems that have high evolvability will survive and others will be eliminated. The evolvability of a biological system has been widely studied and shown to be dependent on several properties: self-organization, modularity, gene duplication, gene robustness, and symbiosis. This position paper discusses the evolvability of a software system with respect to these properties. Our study shows that software systems share similar evolvability properties with biological systems. We conclude that studying and comparing the internal structures as well as the overall evolution process of these biological systems can help us understand software systems from a holistic 'product-lifecycle' perspective thereby helping us develop software systems with better evolvability traits

[1]  Andrew W. Appel,et al.  Hierarchical modularity , 1999, TOPL.

[2]  Srini Ramaswamy,et al.  Change propagations in the maintenance of kernel-based software with a study on Linux , 2007, ACM-SE 45.

[3]  L. Altenberg Modularity in Evolution: Some Low-Level Questions ∗ , 2005 .

[4]  Srini Ramaswamy,et al.  A Distributed Agent-based Simulation Environment for Interference Detection and Resolution , 2001, Simul..

[5]  Srini Ramaswamy,et al.  Service oriented architectures for grid computing environments: opportunities and challenges , 2006, 2006 IEEE International Conference on Granular Computing.

[6]  Hod Lipson,et al.  ON THE ORIGIN OF MODULAR VARIATION , 2002, Evolution; international journal of organic evolution.

[7]  P. Wernick,et al.  A simulation model of self-organising evolvability in software systems , 2005, IEEE International Workshop on Software Evolvability (Software-Evolvability'05).

[8]  J. Sapp Evolution by association , 1994 .

[9]  G. Wagner HOMOLOGUES, NATURAL KINDS AND THE EVOLUTION OF MODULARITY , 1996 .

[10]  Chrystopher L. Nehaniv Evolvability in biologically inspired robotics: solutions for achieving open-ended evolution , 2000, SPIE Optics East.

[11]  Benedikt Hallgrímsson,et al.  Canalization, developmental stability, and morphological integration in primate limbs. , 2002, American journal of physical anthropology.

[12]  Michael Conrad,et al.  Towards High Evolvability Dynamics Introduction , 1998 .

[13]  J. Forrester Industrial Dynamics , 1997 .

[14]  William Stafford Noble,et al.  Kernel hierarchical gene clustering from microarray expression data , 2003, Bioinform..

[15]  Andrew C. Ah-Seng,et al.  Canalization and developmental stability in the Brachyrrhine mouse , 2006, Journal of anatomy.

[16]  David S. Rosenblum,et al.  The evolution of software evolvability , 2001, IWPSE '01.

[17]  C. Wilke,et al.  Robustness and Evolvability in Living Systems , 2006 .

[18]  Rachel Harrison,et al.  Software evolution and software evolvability , 2003 .

[19]  D. E. Goldberg,et al.  Genetic Algorithms in Search , 1989 .

[20]  Srini Ramaswamy,et al.  Component Dependency in Object-Oriented Software , 2007, Journal of Computer Science and Technology.

[21]  Dr. Susumu Ohno Evolution by Gene Duplication , 1970, Springer Berlin Heidelberg.

[22]  G. Wagner,et al.  The Population Genetic Theory of Hidden Variation and Genetic Robustness , 2004, Genetics.

[23]  David M. Raup,et al.  How Nature Works: The Science of Self-Organized Criticality , 1997 .

[24]  Srini Ramaswamy,et al.  A configuration management model for software product line , 2006 .

[25]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[26]  C. Landauer,et al.  Self managed adaptability with wrappings , 2005, IEEE International Workshop on Software Evolvability (Software-Evolvability'05).

[27]  Dorion Sagan,et al.  Microcosmos: Four Billion Years of Evolution from Our Microbial Ancestors , 1986 .

[28]  William G. Griswold,et al.  The structure and value of modularity in software design , 2001, ESEC/FSE-9.

[29]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[30]  Intelligent Coordinating Entities Based Control Software Design , 2000 .