id: Simula.se.713
authors: Andrea Arcuri and Xin Yao
title: Co-evolutionary Automatic Programming for Software Development
publication_year: 2010
abstract: Since the 1970s the goal of generating programs in an automatic way (i.e., Automatic Pro gramming) 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. Al though 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.
publication_url: 
pdf_url: 
journal: Information Sciences
volume: 
number: 
pages: 
pmid: 
DOI: 
keywords: ()
publication_month: 
note: 
annote: 
additional: []
location: 
publication_state: Accepted
simula_ou: [<Department at /simula/department/certus>, <Department at /simula/research/approve>]
publisher_url: 

