Home > Research > Publications & Outputs > General Program Synthesis using Guided Corpus G...

Electronic data

  • wild19ssbse

    Accepted author manuscript, 1.3 MB, PDF document

    Available under license: CC BY-NC: Creative Commons Attribution-NonCommercial 4.0 International License

Links

Text available via DOI:

View graph of relations

General Program Synthesis using Guided Corpus Generation and Automatic Refactoring

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Published

Standard

General Program Synthesis using Guided Corpus Generation and Automatic Refactoring. / Wild, Alexander; Porter, Barry.
Search-Based Software Engineering: 11th International Symposium, SSBSE 2019, Tallinn, Estonia, August 31 – September 1, 2019, Proceedings. ed. / Shiva Nejati; Gregory Gay. Cham: Springer-Verlag, 2019. p. 89-104 (Lecture Notes in Computer Science; Vol. 11664).

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Harvard

Wild, A & Porter, B 2019, General Program Synthesis using Guided Corpus Generation and Automatic Refactoring. in S Nejati & G Gay (eds), Search-Based Software Engineering: 11th International Symposium, SSBSE 2019, Tallinn, Estonia, August 31 – September 1, 2019, Proceedings. Lecture Notes in Computer Science, vol. 11664, Springer-Verlag, Cham, pp. 89-104. https://doi.org/10.1007/978-3-030-27455-9_7

APA

Wild, A., & Porter, B. (2019). General Program Synthesis using Guided Corpus Generation and Automatic Refactoring. In S. Nejati, & G. Gay (Eds.), Search-Based Software Engineering: 11th International Symposium, SSBSE 2019, Tallinn, Estonia, August 31 – September 1, 2019, Proceedings (pp. 89-104). (Lecture Notes in Computer Science; Vol. 11664). Springer-Verlag. https://doi.org/10.1007/978-3-030-27455-9_7

Vancouver

Wild A, Porter B. General Program Synthesis using Guided Corpus Generation and Automatic Refactoring. In Nejati S, Gay G, editors, Search-Based Software Engineering: 11th International Symposium, SSBSE 2019, Tallinn, Estonia, August 31 – September 1, 2019, Proceedings. Cham: Springer-Verlag. 2019. p. 89-104. (Lecture Notes in Computer Science). Epub 2019 Aug 3. doi: 10.1007/978-3-030-27455-9_7

Author

Wild, Alexander ; Porter, Barry. / General Program Synthesis using Guided Corpus Generation and Automatic Refactoring. Search-Based Software Engineering: 11th International Symposium, SSBSE 2019, Tallinn, Estonia, August 31 – September 1, 2019, Proceedings. editor / Shiva Nejati ; Gregory Gay. Cham : Springer-Verlag, 2019. pp. 89-104 (Lecture Notes in Computer Science).

Bibtex

@inproceedings{c6121c6e1c2f43fd9bae4d7094a290e0,
title = "General Program Synthesis using Guided Corpus Generation and Automatic Refactoring",
abstract = "Program synthesis aims to produce source code based on a user specification, raising the abstraction level of building systems and opening the potential for non-programmers to synthesise their own bespoke services. Both genetic programming (GP) and neural code synthesis have proposed a wide range of approaches to solving this problem, but both have limitations in generality and scope. We propose a hybrid search-based approach which combines (i) a genetic algorithm to autonomously generate a training corpus of programs centred around a set of highly abstracted hints describing interesting features; and (ii) a neural network which trains on this data and automatically refactors it towards a form which makes a more ideal use of the neural network{\textquoteright}s representational capacity. When given an unseen program represented as a small set of input and output examples, our neural network is used to generate a rank-ordered search space of what it sees as the most promising programs; we then iterate through this list up to a given maximum search depth. Our results show that this approach is able to find up to 60% of a human-useful target set of programs that it has never seen before, including applying a clip function to the values in an array to restrict them to a given maximum, and offsetting all values in an array.",
author = "Alexander Wild and Barry Porter",
year = "2019",
month = aug,
day = "31",
doi = "10.1007/978-3-030-27455-9_7",
language = "English",
isbn = "9783030274542",
series = "Lecture Notes in Computer Science",
publisher = "Springer-Verlag",
pages = "89--104",
editor = "Shiva Nejati and Gay, {Gregory }",
booktitle = "Search-Based Software Engineering",

}

RIS

TY - GEN

T1 - General Program Synthesis using Guided Corpus Generation and Automatic Refactoring

AU - Wild, Alexander

AU - Porter, Barry

PY - 2019/8/31

Y1 - 2019/8/31

N2 - Program synthesis aims to produce source code based on a user specification, raising the abstraction level of building systems and opening the potential for non-programmers to synthesise their own bespoke services. Both genetic programming (GP) and neural code synthesis have proposed a wide range of approaches to solving this problem, but both have limitations in generality and scope. We propose a hybrid search-based approach which combines (i) a genetic algorithm to autonomously generate a training corpus of programs centred around a set of highly abstracted hints describing interesting features; and (ii) a neural network which trains on this data and automatically refactors it towards a form which makes a more ideal use of the neural network’s representational capacity. When given an unseen program represented as a small set of input and output examples, our neural network is used to generate a rank-ordered search space of what it sees as the most promising programs; we then iterate through this list up to a given maximum search depth. Our results show that this approach is able to find up to 60% of a human-useful target set of programs that it has never seen before, including applying a clip function to the values in an array to restrict them to a given maximum, and offsetting all values in an array.

AB - Program synthesis aims to produce source code based on a user specification, raising the abstraction level of building systems and opening the potential for non-programmers to synthesise their own bespoke services. Both genetic programming (GP) and neural code synthesis have proposed a wide range of approaches to solving this problem, but both have limitations in generality and scope. We propose a hybrid search-based approach which combines (i) a genetic algorithm to autonomously generate a training corpus of programs centred around a set of highly abstracted hints describing interesting features; and (ii) a neural network which trains on this data and automatically refactors it towards a form which makes a more ideal use of the neural network’s representational capacity. When given an unseen program represented as a small set of input and output examples, our neural network is used to generate a rank-ordered search space of what it sees as the most promising programs; we then iterate through this list up to a given maximum search depth. Our results show that this approach is able to find up to 60% of a human-useful target set of programs that it has never seen before, including applying a clip function to the values in an array to restrict them to a given maximum, and offsetting all values in an array.

U2 - 10.1007/978-3-030-27455-9_7

DO - 10.1007/978-3-030-27455-9_7

M3 - Conference contribution/Paper

SN - 9783030274542

T3 - Lecture Notes in Computer Science

SP - 89

EP - 104

BT - Search-Based Software Engineering

A2 - Nejati, Shiva

A2 - Gay, Gregory

PB - Springer-Verlag

CY - Cham

ER -