Software mutational robustness

@article{Schulte2013SoftwareMR,
  title={Software mutational robustness},
  author={Eric M. Schulte and Zachary P. Fry and Ethan Fast and Westley Weimer and Stephanie Forrest},
  journal={Genetic Programming and Evolvable Machines},
  year={2013},
  volume={15},
  pages={281-312}
}
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 behavior 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… Expand
Neutral Networks of Real-World Programs and their Application to Automated Software Evolution
TLDR
Empirical evidence that software is inherently robust to small randomized program transformations, or mutations is presented, and several applications that leverage software neutral networks to automate common software development and maintenance tasks are presented. Expand
Mutational Robustness and Structural Complexity in Grammatical Evolution
A recent study in Artificial Life found that the need for mutational robustness can give rise to simpler structures in an evolving population. This begs the question, do we observe a similarExpand
A journey among Java neutral program variants
TLDR
This work aims at characterizing plastic code regions in Java programs, i.e., the code regions that are modifiable while maintaining functional correctness, according to a test suite, and designs 3 novel program transformations, targeted at specific plastic regions. Expand
Genetic Programming Bias with Software Performance Analysis
TLDR
This thesis explores and develops techniques to improve software by automating re-design by randomly modifying a location within a program and measuring the change in performance and functionality to determine the probability of a performance improvement at that location under further modi cation. Expand
Dynamic fitness functions for genetic improvement in compilers and interpreters
TLDR
This publication explores dynamic fitness functions as a foundation for a use in Genetic Improvement to optimize programs, and an approach of using a test suite to verify code correctness in the Truffle Framework and Graal Compiler is presented. Expand
Neutrality and epistasis in program space
TLDR
This paper presents a method for studying neutral networks in software, and finds multiple solutions to held-out test cases (latent bugs), suggesting that neutral software networks also exhibit relevant diversity. Expand
An Investigation into the Use of Mutation Analysis for Automated Program Repair
TLDR
A number of mutation-based fault localisation techniques are proposed, which are evaluated by measuring how accurately they locate the statements at which the search was able to generate a solution. Expand
A Theoretical Framework for Understanding Mutation-Based Testing Methods
  • Donghwan Shin, Doo-Hwan Bae
  • Computer Science
  • 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST)
  • 2016
TLDR
A theoretical framework for understanding mutation-based testing methods is considered, which defines behavioral differences of programs for a set of tests as a mathematical vector, called a d-vector, and explores the multi-dimensional space represented by d-vectors and provides a graphical model for describing the space. Expand
Injecting Shortcuts for Faster Running Java Code
TLDR
This work proposes six new edit types for Genetic Improvement of Java software, based on the insertion of break, continue and return statements, to add shortcuts that allow parts of the program to be skipped in order to speed it up. Expand
Leveraging program equivalence for adaptive program repair: Models and first results
TLDR
Generate-and-validate program repair is shown to be a dual of mutation testing, suggesting several possible cross-fertilizations and a novel deterministic repair algorithm that computes a patch quotient space with respect to an approximate semantic equivalence relation. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 131 REFERENCES
(Un-)Covering Equivalent Mutants
  • David Schuler, A. Zeller
  • Computer Science
  • 2010 Third International Conference on Software Testing, Verification and Validation
  • 2010
TLDR
This paper examines whether changes in coverage can be used to detect non-equivalent mutants: if a mutant changes the coverage of a run, it is more likely to be non-Equivalent. Expand
Mutational robustness can facilitate adaptation
TLDR
It is demonstrated, using a general population genetics model, that mutational robustness can either impede or facilitate adaptation, depending on the population size, the mutation rate and the structure of the fitness landscape, which provides a quantitative resolution to a significant ambiguity in evolutionary theory. Expand
An experimental determination of sufficient mutant operators
TLDR
The results support the hypothesis that selective mutation is almost as strong as nonselective mutation: in experimental trials selective mutation provides almost the same coverage as non selective mutation. Expand
On mutation
Program mutation has been advanced by DeMillo et. al. as a powerful program testing technique. The present work is an empirical study of several factors important in the feasibility and reliabilityExpand
The Coupon Collector and the Suppressor Mutation
TLDR
This is the first attempt to characterize the overall diversity of compensatory mutations, identifying a consistent and accurate prior distribution of compensatories mutation diversity for theoretical evolutionary models. Expand
All-uses vs mutation testing: An experimental comparison of effectiveness
TLDR
The effectiveness of the mutation testing and all-uses test data adequacy criteria at various coverage levels, for randomly generated test sets, was mixed: at the highest coverage levels considered, mutation was more effective than all-use for five of the nine subjects, all- uses was moreeffective than mutation for two subjects, and there was no clear winner for two Subjects. Expand
Automatically Detecting Equivalent Mutants and Infeasible Paths
TLDR
This paper presents a technique that uses mathematical constraints, originally developed for test data generation, to automatically detect some equivalent mutants and infeasible paths. Expand
GenProg: A Generic Method for Automatic Software Repair
TLDR
This paper describes GenProg, an automated method for repairing defects in off-the-shelf, legacy programs without formal specifications, program annotations, or special coding practices, and analyzes the generated repairs qualitatively and quantitatively to demonstrate the process efficiently produces evolved programs that repair the defect. Expand
Neutral evolution of mutational robustness.
TLDR
The results quantify the extent to which populations evolve mutational robustness-the insensitivity of the phenotype to mutations-and thus reduce genetic load. Expand
Robustness and evolvability: a paradox resolved
  • A. Wagner
  • Biology, Medicine
  • Proceedings of the Royal Society B: Biological Sciences
  • 2007
TLDR
It is confirmed that genotype (sequence) robustness and evolvability share an antagonistic relationship, which means that finite populations of sequences with a robust phenotype can access large amounts of phenotypic variation while spreading through a neutral network. Expand
...
1
2
3
4
5
...