Software mutational robustness

Software mutational robustness
复制标题

软件突变鲁棒性

DOI:
--
复制
发表时间:
2012
影响因子:
2.6
通讯作者:
S. Forrest
S. Forrest
中科院分区:
计算机科学3区
文献类型:
--
作者:
Eric M. Schulte;Zachary P. Fry;Ethan Fast;Westley Weimer;S. Forrest

文献摘要

参考文献

被引文献

相似文献

中性景观和突变鲁棒性被认为是生物学中发展的重要推动因素,我们将这些概念应用于软件,将突变鲁棒性定义为程序代码的一部分,以使程序的行为不变。行为和突变操作员是从遗传编程上的早期工作中获取的,尽管软件通常被视为脆弱的,导致行为的灾难性变化,但我们的结果在面对随机软件突变时表现出令人惊讶的鲁棒性。 22个程序的突变鲁棒性,包括14个生产软件项目,Siemens的基准和4个专门构建的程序。对于源代码和汇编指令级别的突变,在各种编程语言上,仅具有有限的测试套件覆盖率的关系。测试套件)经常根据这些结果来满足该计划的原始目的或规格,我们认为中性突变可以作为生成软件多样性的机制。变体会自动修复潜在的错误。
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 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 four 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 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 fulfill 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.
DOI: 10.1145/1831708.1831716
发表时间: 2010-07
影响因子: 7.4
作者:
Yu Pei;Carlo A. Furia;M. Nordio;Yi Wei;Bertrand Meyer;Andreas Zeller
通讯作者: Yu Pei;Carlo A. Furia;M. Nordio;Yi Wei;Bertrand Meyer;Andreas Zeller