Co-evolutionary automatic programming for software development

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

  author =       "Andrea Arcuri and Xin Yao",
  title =        "Co-evolutionary automatic programming for software
  journal =      "Information Sciences",
  year =         "2014",
  volume =       "259",
  pages =        "412--432",
  ISSN =         "0020-0255",
  DOI =          "doi:10.1016/j.ins.2009.12.019",
  URL =          "",
  keywords =     "genetic algorithms, genetic programming, SBSE, STGP,
                 Automatic programming, Automatic refinement,
                 Co-evolution, Software testing",
  size =         "21 pages",
  abstract =     "Since the 1970s the goal of generating programs in an
                 automatic way (i.e., Automatic Programming) has been
                 sought. A user would just define what he expects from
                 the program (i.e., the requirements), and it should be
                 automatically generated by the computer without the
                 help of any programmer. Unfortunately, this task is
                 much harder than expected. Although transformation
                 methods are usually employed to address this problem,
                 they cannot be employed if the gap between the
                 specification and the actual implementation is too
                 wide. In this paper we introduce a novel conceptual
                 framework for evolving programs from their
                 specification. We use genetic programming to evolve the
                 programs, and at the same time we exploit the
                 specification to co-evolve sets of unit tests. Programs
                 are rewarded by how many tests they do not fail,
                 whereas the unit tests are rewarded by how many
                 programs they make to fail. We present and analyse
                 seven different problems on which this novel technique
                 is successfully applied.",
  notes =        "competitive co-evolution. MaxValue, AllEqual, Triangle
                 Classification, Swap, Order, Sorting, Median. One
                 variable called result write_result read_result. Simple
                 first order logic specification. Java, ECJ. Random
                 sampling SSP, ensemble N-version programming.",

Genetic Programming entries for Andrea Arcuri Xin Yao