Multi-objective Grammar-guided Genetic Programming with Code Similarity Measurement for Program Synthesis

被引:5
作者
Tao, Ning [1 ]
Ventresque, Anthony [1 ,2 ]
Saber, Takfarinas [2 ,3 ]
机构
[1] Univ Coll Dublin, Sch Comp Sci, Dublin, Ireland
[2] Lero Irish Software Res Ctr, Limerick, Ireland
[3] Natl Univ Ireland, Sch Comp Sci, Galway, Ireland
来源
2022 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC) | 2022年
基金
爱尔兰科学基金会;
关键词
Program Synthesis; Grammar-Guided Genetic Programming; Code Similarity; Multi-Objective Optimization;
D O I
10.1109/CEC55065.2022.9870312
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Grammar-Guided Genetic Programming (G3P) is widely recognised as one of the most successful approaches for program synthesis, i.e., the task of automatically discovering an executable piece of code given user intent. G3P has been shown capable of successfully evolving programs in arbitrary languages that solve several program synthesis problems based only on a set of input/output examples. Despite its success, the restriction on the evolutionary system to only leverage input/output error rate during its assessment of the programs it derives limits its scalability to larger and more complex program synthesis problems. With the growing number and size of open software repositories and generative artificial intelligence approaches, there is a sizeable and growing number of approaches for retrieving/generating source code (potentially several partial snippets) based on textual problem descriptions. Therefore, it is now, more than ever, time to introduce G3P to other means of user intent (particularly textual problem descriptions). In this paper, we would like to assess the potential for G3P to evolve programs based on their similarity to particular target codes of interest (obtained using some code retrieval/generative approach). Through our experimental evaluation on a well-known program synthesis benchmark, we have shown that G3P successfully manages to evolve some of the desired programs with all four considered similarity measures. However, in its default configuration, G3P is not as successful with similarity measures as it is with the classical input/output error rate when solving program synthesis problems. Therefore, we propose a novel multi-objective G3P approach that combines the similarity to the target program and the traditional input/output error rate. Our experiments show that compared to the error-based G3P, the multi-objective G3P approach could improve the success rate of specific problems and has great potential to improve on the traditional G3P system.
引用
收藏
页数:8
相关论文
共 32 条
  • [1] Guided Code Synthesis using Deep Neural Networks
    Alexandru, Carol V.
    [J]. FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 1068 - 1070
  • [2] [Anonymous], 2019, THESIS
  • [3] Bassil Y, 2012, Arxiv, DOI arXiv:1202.2427
  • [4] pix2code: Generating Code from a Graphical User Interface Screenshot
    Beltramelli, Tony
    [J]. PROCEEDINGS OF THE ACM SIGCHI SYMPOSIUM ON ENGINEERING INTERACTIVE COMPUTING SYSTEMS (EICS'18), 2018,
  • [5] Boutekkouk F., 2010, IJCA
  • [6] Brameier M., 2007, Linear Genetic Programming
  • [7] Cohen A., 2011, FUZZYWUZZY FUZZY STR
  • [8] Dakhore H., 2010, ISCET, V2010
  • [9] A Grammar Design Pattern for Arbitrary Program Synthesis Problems in Genetic Programming
    Forstenlechner, Stefan
    Fagan, David
    Nicolau, Miguel
    O'Neill, Michael
    [J]. GENETIC PROGRAMMING, EUROGP 2017, 2017, 10196 : 262 - 277
  • [10] Sim: A utility for detecting similarity in computer programs
    Gitchell, D
    Tran, N
    [J]. PROCEEDINGS OF THE THIRTIETH SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 1999, : 266 - 270