Co-evolutionary automatic programming for software development

被引:30
|
作者
Arcuri, Andrea [1 ]
Yao, Xin [2 ]
机构
[1] Simula Res Lab, Lysaker, Norway
[2] Univ Birmingham, Sch Comp Sci, CERCIA, Birmingham B15 2TT, W Midlands, England
基金
英国工程与自然科学研究理事会;
关键词
Automatic programming; Automatic refinement; Co-evolution; Software testing; Genetic programming; COEVOLUTION; SEARCH;
D O I
10.1016/j.ins.2009.12.019
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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. (C) 2009 Elsevier Inc. All rights reserved.
引用
收藏
页码:412 / 432
页数:21
相关论文
共 50 条
  • [21] A parallel co-evolutionary metaheuristic
    Bachelet, V
    Talbi, EG
    [J]. PARALLEL AND DISTRIBUTED PROCESSING, PROCEEDINGS, 2000, 1800 : 628 - 635
  • [22] Internationalisation: A co-evolutionary perspective
    Pajunen, Kalle
    Maunula, Mari
    [J]. SCANDINAVIAN JOURNAL OF MANAGEMENT, 2008, 24 (03) : 247 - 258
  • [23] A Model of Co-evolutionary Design
    M. L. Maher
    [J]. Engineering with Computers, 2000, 16 : 195 - 208
  • [24] The development of quality capabilities in Brazilian breweries: A Co-evolutionary approach
    Prim, Alexandre Luis
    de Freitas, Kenyth Alves
    Paiva, Ely Laureano
    Kumar, Maneesh
    [J]. INTERNATIONAL JOURNAL OF PRODUCTION ECONOMICS, 2023, 256
  • [25] A model of co-evolutionary design
    Maher, ML
    [J]. ENGINEERING WITH COMPUTERS, 2000, 16 (3-4) : 195 - 208
  • [26] EvoTanks: Co-evolutionary development of game-playing agents
    Thompson, Thomas
    Levine, John
    Hayes, Gillian
    [J]. 2007 IEEE SYMPOSIUM ON COMPUTATIONAL INTELLIGENCE AND GAMES, 2007, : 328 - 333
  • [27] Understanding the economic development of Korea from a co-evolutionary perspective
    Yang, Joon-Mo
    Kim, Tae-Wan
    Han, Hyun-Ok
    [J]. JOURNAL OF ASIAN ECONOMICS, 2006, 17 (04) : 601 - 621
  • [28] COSEARCH: a co-evolutionary metaheuristic
    Bachelet, V
    Talbi, EG
    [J]. PROCEEDINGS OF THE 2000 CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1 AND 2, 2000, : 1550 - 1557
  • [29] Cooperative Co-evolutionary Optimization of Software Project Staff Assignments and Job Scheduling
    Ren, Jian
    Harman, Mark
    Di Penta, Massimiliano
    [J]. SEARCH BASED SOFTWARE ENGINEERING, 2011, 6956 : 127 - +
  • [30] A Symbiotic CHC Co-evolutionary Algorithm for Automatic RBF Neural Networks Design
    Parras-Gutierrez, Elisabet
    Jose del Jesus, Ma
    Merelo, Juan J.
    Rivas, Victor M.
    [J]. INTERNATIONAL SYMPOSIUM ON DISTRIBUTED COMPUTING AND ARTIFICIAL INTELLIGENCE 2008, 2009, 50 : 663 - +