2018
DOI: 10.1109/tevc.2017.2693219
|View full text |Cite
|
Sign up to set email alerts
|

Genetic Improvement of Software: A Comprehensive Survey

Abstract: Genetic improvement uses automated search to find improved versions of existing software. We present a comprehensive survey of this nascent field of research with a focus on the core papers in the area published between 1995 and 2015. We identified core publications including empirical studies, 96% of which use evolutionary algorithms (genetic programming in particular). Although we can trace the foundations of genetic improvement back to the origins of computer science itself, our analysis reveals a significa… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3

Citation Types

0
121
0
1

Year Published

2018
2018
2020
2020

Publication Types

Select...
6
2
2

Relationship

5
5

Authors

Journals

citations
Cited by 172 publications
(127 citation statements)
references
References 181 publications
0
121
0
1
Order By: Relevance
“…Here we define the key concepts that we leverage to explore the different regions of Java programs that are prone to the synthesis of neutral program variants. Given an initial program, which comes along with a test suite, we consider three generic program transformations on source code that have been defined in previous work [4,27,33]. These transformations operate on the abstract syntax tree (AST).…”
Section: Background and Definitionsmentioning
confidence: 99%
“…Here we define the key concepts that we leverage to explore the different regions of Java programs that are prone to the synthesis of neutral program variants. Given an initial program, which comes along with a test suite, we consider three generic program transformations on source code that have been defined in previous work [4,27,33]. These transformations operate on the abstract syntax tree (AST).…”
Section: Background and Definitionsmentioning
confidence: 99%
“…The genetic approach to code modification is one of the most popular approaches to automated software improvement [4] with recent progress in automated bug-fixing [5][6][7], optimising non-functional properties [8][9][10], and automatic test-case generation [6].…”
Section: Related Workmentioning
confidence: 99%
“…The model is periodically updated with new information and improved with Genetic Improvement (GI) of software [29] procedure. GI is an emerging field from Search Based Software Engineering [30] which uses computational search to improve existing software.…”
Section: Background and Related Workmentioning
confidence: 99%