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 条
  • [31] The challenges in Singapore NEWater development: Co-evolutionary development for innovation and industry evolution
    Chew, Michele Y. C.
    Watanabe, Chihiro
    Tou, Yuji
    [J]. TECHNOLOGY IN SOCIETY, 2011, 33 (3-4) : 200 - 211
  • [32] Human activity classification based on gait energy image and co-evolutionary genetic programming
    Zou, Xiaotao
    Bhanu, Bir
    [J]. 18TH INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION, VOL 3, PROCEEDINGS, 2006, : 556 - +
  • [33] Difference-genetic co-evolutionary algorithm for nonlinear mixed integer programming problems
    Gao, Yuelin
    Sun, Ying
    Wu, Jun
    [J]. JOURNAL OF NONLINEAR SCIENCES AND APPLICATIONS, 2016, 9 (03): : 1261 - 1284
  • [34] Carnico-ICSPEA2 -: A metaheuristic co-evolutionary navigator for a complex co-evolutionary farming system
    Martinez-Garcia, A. N.
    Anderson, J.
    [J]. EUROPEAN JOURNAL OF OPERATIONAL RESEARCH, 2007, 179 (03) : 634 - 655
  • [35] Entrepreneurship for sustainable development: co-evolutionary evidence from the tourism sector
    Baiocco, Silvia
    Leoni, Luna
    Paniccia, Paola Maria Anna
    [J]. JOURNAL OF SMALL BUSINESS AND ENTERPRISE DEVELOPMENT, 2023, 30 (07) : 1521 - 1546
  • [36] Automatic Means of Identifying Evolutionary Events in Software Development
    Karus, Siim
    [J]. 2013 29TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM), 2013, : 412 - 415
  • [37] Exploiting coalition in co-evolutionary learning
    Seo, YG
    Cho, SB
    Yao, X
    [J]. PROCEEDINGS OF THE 2000 CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1 AND 2, 2000, : 1268 - 1275
  • [38] Co-evolutionary scenarios: An application to prospecting futures of the responsible development of nanotechnology
    Robinson, Douglas K. R.
    [J]. TECHNOLOGICAL FORECASTING AND SOCIAL CHANGE, 2009, 76 (09) : 1222 - 1239
  • [39] Co-evolutionary dynamics on a deformable landscape
    Ebner, M
    Watson, RA
    Alexander, J
    [J]. PROCEEDINGS OF THE 2000 CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1 AND 2, 2000, : 1284 - 1291
  • [40] Co-evolutionary learning in strategic environments
    Namatame, A
    Sato, N
    Murakami, K
    [J]. RECENT ADVANCES IN SIMULATED EVOLUTION AND LEARNING, 2004, 2 : 1 - 19