Generating Multiple Diverse Software Versions with Genetic Programming
by R. Feldt
Software fault tolerance schemes often employ multiple software versions developed to meet the same specification. If the versions fail independently of each other, they can be combined to give high levels of reliability. While design diversity is a means to develop these versions, it has been questioned because it increases development costs and because reliability gains are limited by common mode failures. We propose the use of genetic programming to generate multiple software versions and postulate that these versions can be forced to differ by varying parameters to the genetic programming algorithm. This might prove a cost effective approach to obtain forced diversity and make possible controlled experiments with large numbers of diverse development methodologies. The paper qualitatively compares the proposed approach to design diversity and its sources of diversity. An experimental environment to evaluate whether significant diversity can be generated is outlined.


  author =    "Robert Feldt",
  title =     {Generating Multiple Diverse Software Versions with Genetic Programming},
  year =      "1998",
  booktitle = "Proceedings of the 24th Euromicro Conference",
  pages =     "387--394",
  keywords =  "Automated Programming; Genetic Programming; Controlled Experiment",
  url =       "",