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 条
  • [1] A Novel Co-evolutionary Approach to Automatic Software Bug Fixing
    Arcuri, Andrea
    Yao, Xin
    [J]. 2008 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1-8, 2008, : 162 - 168
  • [2] Automatic Synthesis of Associative Memories through Genetic Programming: A First Co-evolutionary Approach
    Villegas-Cortez, Juan
    Olague, Gustavo
    Aviles, Carlos
    Sossa, Humberto
    Ferreyra, Andres
    [J]. APPLICATIONS OF EVOLUTIONARY COMPUTATION, PT I, PROCEEDINGS, 2010, 6024 : 344 - +
  • [3] Co-Evolutionary Automatically Defined Functions in Genetic Programming
    Lukas, Anthony
    Oppacher, Franz
    [J]. PROCEEDINGS OF THE 8TH WSEAS INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE, KNOWLEDGE ENGINEERING AND DATA BASES, 2009, : 354 - +
  • [4] Co-Evolutionary Genetic Programming for Dataset Similarity Induction
    Smid, Jakub
    Pilat, Martin
    Peskova, Klara
    Neruda, Roman
    [J]. 2015 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC), 2015, : 1160 - 1166
  • [5] SUSTAINABLE DEVELOPMENT - A CO-EVOLUTIONARY VIEW
    NORGAARD, RB
    [J]. FUTURES, 1988, 20 (06) : 606 - 620
  • [6] Co-evolutionary rule-chaining genetic programming
    Shum, WH
    Leung, KS
    Wong, ML
    [J]. INTELLIGENT DATA ENGINEERING AND AUTOMATED LEARNING IDEAL 2005, PROCEEDINGS, 2005, 3578 : 546 - 554
  • [7] An Efficient Cooperative Co-evolutionary Gene Expression Programming
    Cheng, Tiantian
    Zhong, Jinghui
    [J]. 2018 IEEE SMARTWORLD, UBIQUITOUS INTELLIGENCE & COMPUTING, ADVANCED & TRUSTED COMPUTING, SCALABLE COMPUTING & COMMUNICATIONS, CLOUD & BIG DATA COMPUTING, INTERNET OF PEOPLE AND SMART CITY INNOVATION (SMARTWORLD/SCALCOM/UIC/ATC/CBDCOM/IOP/SCI), 2018, : 1422 - 1427
  • [8] A Co-evolutionary Cartesian Genetic Programming with Adaptive Knowledge Transfer
    Zhong, Jinghui
    Li, Linhao
    Liu, Wei-Li
    Feng, Liang
    Hu, Xiao-Min
    [J]. 2019 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC), 2019, : 2665 - 2672
  • [9] Co-evolutionary algorithm: An efficient approach for bilevel programming problems
    Li, Hecheng
    Fang, Lei
    [J]. ENGINEERING OPTIMIZATION, 2014, 46 (03) : 361 - 376
  • [10] Using co-evolutionary programming to simulate strategic behaviour in markets
    Tony Curzon Price
    [J]. Journal of Evolutionary Economics, 1997, 7 : 219 - 254