ABSTRACT
Neutral networks in biology often contain diverse solutions with equal fitness, which can be useful when environments (requirements) change over time. In this paper, we present a method for studying neutral networks in software. In these networks, we find multiple solutions to held-out test cases (latent bugs), suggesting that neutral software networks also exhibit relevant diversity. We also observe instances of positive epistasis between random mutations, i.e. interactions that collectively increase fitness. Positive epistasis is rare as a fraction of the total search space but significant as a fraction of the objective space: 9% of the repairs we found to look (and 4.63% across all programs analyzed) were produced by positive interactions between mutations. Further, the majority (62.50%) of unique repairs are instances of positive epistasis.
- José Aguilar-Rodríguez, Joshua L Payne, and Andreas Wagner. A thousand empirical adaptive landscapes and their navigability. Nature ecology & evolution, 1(2):0045, 2017.Google Scholar
- Benoit Baudry, Simon Allier, Marcelino Rodriguez-Cancio, and Martin Monperrus. Automatic software diversity in the light of test suites. arXiv preprint arXiv:1509.00144, 2015.Google Scholar
- Bobby R Bruce, Justyna Petke, and Mark Harman. Reducing energy consumption using genetic improvement. In Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, pages 1327--1334. ACM, 2015. Google ScholarDigital Library
- Bobby R Bruce, Justyna Petke, Mark Harman, and Earl T Barr. Approximate oracles and synergy in software energy search spaces. RN, 17(01):01, 2017.Google Scholar
- Stefano Ciliberti, Olivier C Martin, and Andreas Wagner. Innovation and robustness in complex regulatory gene networks. Proceedings of the National Academy of Sciences, 104(34):13591--13596, 2007.Google ScholarCross Ref
- Benjamin Danglot, Philippe Preux, Benoit Baudry, and Martin Monperrus. Correctness attraction: a study of stability of software behavior under runtime perturbation. Empirical Software Engineering, pages 1--34, 2017. Google ScholarDigital Library
- Christian A Duncan, Stephen G Kobourov, and VS Kumar. Optimal constrained graph exploration. ACM Transactions on Algorithms (TALG), 2(3):380--402, 2006. Google ScholarDigital Library
- Robert Geist, A. Jefferson Offutt, and Frederick C Harris. Estimation and enhancement of real-time software reliability through mutation analysis. IEEE Transactions on Computers, 41(5):550--558, 1992. Google ScholarDigital Library
- Saemundur O. Haraldsson, John R. Woodward, Alexander E. I. Brownlee, Albert V. Smith, and Vilmundur Gudnason. Genetic improvement of runtime and its fitness landscape in a bioinformatics application. In Proceedings of the Genetic and Evolutionary Computation Conference Companion, GECCO '17, pages 1521--1528, New York, NY, USA, 2017. ACM. Google ScholarDigital Library
- Yue Jia and Mark Harman. An analysis and survey of the development of mutation testing. IEEE transactions on software engineering, 37(5):649--678, 2011. Google ScholarDigital Library
- Martin Kellogg. Combining bug detection and test case generation. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2016, pages 1124--1126, New York, NY, USA, 2016. ACM. Google ScholarDigital Library
- Motoo Kimura. The neutral theory of molecular evolution. Cambridge University Press, 1983.Google ScholarCross Ref
- Motoo Kimura et al. Evolutionary rate at the molecular level. Nature, 217(5129):624--626, 1968.Google ScholarCross Ref
- Claire Le Goues, ThanhVu Nguyen, Stephanie Forrest, and Westley Weimer. Genprog: A generic method for automatic software repair. Ieee transactions on software engineering, 38(1):54--72, 2012. Google ScholarDigital Library
- Fan Long and Martin Rinard. Prophet: Automatic patch generation via learning from successful patches. 2015.Google Scholar
- Fan Long and Martin Rinard. Staged program repair with condition synthesis. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, pages 166--178. ACM, 2015. Google ScholarDigital Library
- Michael Lynch, Way Sung, Krystalynne Morris, Nicole Coffey, Christian R Landry, Erik B Dopman, W Joseph Dickinson, Kazufusa Okamoto, Shilpa Kulkarni, Daniel L Hartl, et al. A genome-wide view of the spectrum of spontaneous mutations in yeast. Proceedings of the National Academy of Sciences, 105(27):9272--9277, 2008.Google ScholarCross Ref
- Matias Martinez and Martin Monperrus. Mining software repair models for reasoning on the search space of automated program fixing. Empirical Software Engineering, 20(1):176--205, 2015. Google ScholarDigital Library
- Joanna Masel and Meredith V Trotter. Robustness and evolvability. Trends in Genetics, 26(9):406--414, 2010.Google ScholarCross Ref
- Vinicius Paulo L Oliveira, Eduardo Faria de Souza, Claire Le Goues, and Celso G Camilo-Junior. Improved representation and genetic operators for linear genetic programming for automated program repair. Empirical Software Engineering, pages 1--27, 2018.Google ScholarDigital Library
- Alan Owen and Inman Harvey. Adapting particle swarm optimisation for fitness landscapes with neutrality. In Swarm Intelligence Symposium, 2007. SIS 2007. IEEE, pages 258--265. IEEE, 2007. Google ScholarDigital Library
- Rebecca J. Parsons, Stephanie Forrest, and Christian Burks. Genetic algorithms, operators, and dna fragment assembly. Machine Learning, 21(1):11--33, Oct 1995. Google ScholarDigital Library
- Jeff H Perkins, Sunghun Kim, Sam Larsen, Saman Amarasinghe, Jonathan Bachrach, Michael Carbin, Carlos Pacheco, Frank Sherwood, Stelios Sidiroglou, Greg Sullivan, et al. Automatically patching errors in deployed software. In Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, pages 87--102. ACM, 2009. Google ScholarDigital Library
- Yuhua Qi, Xiaoguang Mao, Yan Lei, Ziying Dai, and Chengsong Wang. Does genetic programming work well on automated program repair? In Computational and Information Sciences (ICCIS), 2013 Fifth International Conference on, pages 1875--1878. IEEE, 2013. Google ScholarDigital Library
- Zichao Qi, Fan Long, Sara Achour, and Martin Rinard. An analysis of patch plausibility and correctness for generate-and-validate patch generation systems. In Proceedings of the 2015 International Symposium on Software Testing and Analysis, pages 24--36. ACM, 2015. Google ScholarDigital Library
- Christian Reidys, Peter F Stadler, and Peter Schuster. Generic properties of combinatory maps: neutral networks of rna secondary structures. Bulletin of mathematical biology, 59(2):339--397, 1997.Google Scholar
- Christian M. Reidys and Peter F. Stadler. Neutrality in fitness landscapes. Applied Mathematics and Computation, 117(2):321 -- 350, 2001. Google ScholarDigital Library
- David Schuler and Andreas Zeller. Covering and uncovering equivalent mutants. Software Testing, Verification and Reliability, 23(5):353--374, 2013.Google ScholarCross Ref
- Eric Schulte, Jonathan Dorn, Stephen Harding, Stephanie Forrest, and Westley Weimer. Post-compiler software optimization for reducing energy. In ACM SIGARCH Computer Architecture News, volume 42, pages 639--652. ACM, 2014. Google ScholarDigital Library
- Eric Schulte, Zachary P Fry, Ethan Fast, Westley Weimer, and Stephanie Forrest. Software mutational robustness. Genetic Programming and Evolvable Machines, 15(3):281--312, 2014. Google ScholarDigital Library
- Pitchaya Sitthi-Amorn, Nicholas Modly, Westley Weimer, and Jason Lawrence. Genetic programming for shader simplification. ACM Transactions on Graphics (TOG), 30(6):152, 2011. Google ScholarDigital Library
- Nobuhiko Tokuriki and Dan S Tawfik. Chaperonin overexpression promotes genetic variation and enzyme evolution. Nature, 459(7247):668--673, 2009.Google ScholarCross Ref
- Nadarajen Veerapen, Fabio Daolio, and Gabriela Ochoa. Modelling genetic improvement landscapes with local optima networks. In Proceedings of the Genetic and Evolutionary Computation Conference Companion, pages 1543--1548. ACM, 2017. Google ScholarDigital Library
- Andreas Wagner. Robustness and evolvability in living systems. Princeton University Press, 2013.Google Scholar
- Westley Weimer, Zachary P Fry, and Stephanie Forrest. Leveraging program equivalence for adaptive program repair: Models and first results. In Automated Software Engineering (ASE), 2013 IEEE/ACM 28th International Conference on, pages 356--366. IEEE, 2013. Google ScholarDigital Library
Index Terms
Neutrality and epistasis in program space
Recommendations
Radical epistasis and the genotype-phenotype relationship
Models of evolution often assume that the offspring of two genotypes, which are genetically intermediate by definition, are also phenotypically intermediate. The continuity between genotype and phenotype interferes with the process of evolution on ...
ASE 2008 Cover Page
ASE '08: Proceedings of the 23rd IEEE/ACM International Conference on Automated Software EngineeringThe following topics are dealt with: automated software engineering; software testing; program traceability; software verification; software modelling; program debugging; component-based system; software requirement; software evolution and software ...
Use of Structural Properties of Underlying Graphs in Pathway Enrichment Analysis of Genomic Data
ACM-BCB '17: Proceedings of the 8th ACM International Conference on Bioinformatics, Computational Biology,and Health InformaticsCommon methods for the functional inference of genomic data, such as Gene Sent Enrichment Analysis (GSEA) and Over Representation Analysis (ORA), often discard the interactions between the biomolecular entities. Recent studies have explored this issue ...
Comments