Software mutational robustness

Created by W.Langdon from gp-bibliography.bib Revision:1.4420

  author =       "Eric Schulte and Zachary P. Fry and Ethan Fast and 
                 Westley Weimer and Stephanie Forrest",
  title =        "Software mutational robustness",
  journal =      "Genetic Programming and Evolvable Machines",
  year =         "2014",
  volume =       "15",
  number =       "3",
  pages =        "281--312",
  month =        sep,
  keywords =     "genetic algorithms, genetic programming, SBSE,
                 Mutational robustness, Mutation testing, Proactive
                 diversity, N-version programming, Neutral landscapes",
  ISSN =         "1389-2576",
  URL =          "",
  DOI =          "doi:10.1007/s10710-013-9195-8",
  size =         "32 pages",
  abstract =     "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 to program code that leave a program's
                 behaviour unchanged. Test cases are used to measure
                 program behavior and mutation operators are taken from
                 earlier work on genetic programming. Although software
                 is often viewed as brittle, with small changes leading
                 to catastrophic changes in behaviour, 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 four specially constructed programs. We find that
                 over 30 percent 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 bear only a limited
                 relation 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 fulfil the program's
                 original purpose or specification. Based on these
                 results, we conjecture that neutral mutations can be
                 leveraged as a mechanism for generating software
                 diversity. We demonstrate this idea by generating a
                 population of neutral program variants and showing that
                 the variants automatically repair latent bugs. Neutral
                 landscapes also provide a partial explanation for
                 recent results that use evolutionary computation to
                 automatically repair software bugs.",

Genetic Programming entries for Eric Schulte Zachary P Fry Ethan Joseph Fast Westley Weimer Stephanie Forrest