Graph explorer

Software Mutational Robustness

Neutral landscapes and mutational robustness are believed to be important enablers of evolvability in biology. We apply these concepts to software, defining mutational robustness to be the fraction of random mutations that leave a program's behavior unchanged. Test cases are used to measure program behavior and mutation operators are taken from genetic programming. Although software is often viewed as brittle, with small changes leading to catastrophic changes in behavior, our results show surprising robustness in the face of random software mutations. The paper describes empirical studies of the mutational robustness of 22 programs, including 14 production software projects, the Siemens benchmarks, and 4 specially constructed programs. We find that over 30% of random mutations are neutral with respect to their test suite. The results hold across all classes of programs, for mutations at both the source code and assembly instruction levels, across various programming languages, and are only weakly related to test suite coverage. We conclude that mutational robustness is an inherent property of software, and that neutral variants (i.e., those that pass the test suite) often fulf

7 nodes6 linksoverview previewSoftware Mutational Robustness
7 nodes6 links
Software Mutational Robustness7 visible / 7 total nodes / 16 links
Co-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipCo-authorshipAuthorshipAuthorshipAuthorshipAuthorshipTopic signalAuthorshipWSoftware Mutational Robustnesspreprint / 2013AEric SchulteResearcherAZachary P. FryResearcherAEthan FastResearcherAWestley WeimerResearcherTSoftware Engineering3620 worksAStephanie ForrestResearcher
PaperSignal 106 links

Software Mutational Robustness

preprint / 2013

Open