2014
DOI: 10.1007/978-3-662-44303-3_12
|View full text |Cite
|
Sign up to set email alerts
|

Using Genetic Improvement and Code Transplants to Specialise a C++ Program to a Problem Class

Abstract: Genetic Improvement (GI) is a form of Genetic Programming that improves an existing program. We use GI to evolve a faster version of a C++ program, a Boolean satisfiability (SAT) solver called MiniSAT, specialising it for a particular problem class, namely Combinatorial Interaction Testing (CIT), using automated code transplantation. Our GI-evolved solver achieves overall 17% improvement, making it comparable with average expert human performance. Additionally, this automatically evolved solver is faster than … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

3
105
0

Year Published

2014
2014
2024
2024

Publication Types

Select...
7
1

Relationship

5
3

Authors

Journals

citations
Cited by 109 publications
(108 citation statements)
references
References 26 publications
3
105
0
Order By: Relevance
“…Langdon has also reported 100 fold speed-up of another DNA sequencing tool BarraCUDA [17,19,[21][22][23] and the GI improvements have now been included in the official release. Langdon's GI implementation has furthermore been used by others for specializing and optimizing the execution time of MiniSAT [30], a boolean satisfiability solver and for optimizing power consumption of that same solver [5,6]. Many others have applied or suggested GI for improving non-functional properties such as execution time [9,10,35,42], energy consumption [7,8,13,40,43] and memory usage [32,44].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Langdon has also reported 100 fold speed-up of another DNA sequencing tool BarraCUDA [17,19,[21][22][23] and the GI improvements have now been included in the official release. Langdon's GI implementation has furthermore been used by others for specializing and optimizing the execution time of MiniSAT [30], a boolean satisfiability solver and for optimizing power consumption of that same solver [5,6]. Many others have applied or suggested GI for improving non-functional properties such as execution time [9,10,35,42], energy consumption [7,8,13,40,43] and memory usage [32,44].…”
Section: Related Workmentioning
confidence: 99%
“…It is inherently discrete and possibly provides no obvious gradient for the search to follow, which poses a difficulty for many search methods, although evolutionary algorithms have been applied successfully [30]. We want to analyse this discrete nature and in addition, explore ways to report on GI problem difficulty.…”
Section: Fitness Functionmentioning
confidence: 99%
“…The Path from Automated Testing to Automated Improvement: In this discussion we have moved relatively seamlessly from seeking to search for test cases, to using testing to discover improved systems. This is one of the principles that underlies the recent upsurge in work on Genetic Improvement (GI) [6], [50], [53], [54], [72], [73], [75], [96], [109], [121]; If we can search for test cases that expose suboptimal system behaviour, can we not also search for versions of the system that improve this behaviour? We believe that there is a symbiotic relationship between SBST and GI: SBST can generate test cases to help guide GI [53], but it also suggest intellectual routes through which we can make the technical and practical journey from automating testing to automating improvement.…”
Section: Multi-objective Search Based Testing (Mosbat)mentioning
confidence: 99%
“…Recently, it has been demonstrated [12] that GI can be used to transplant code [3] from one version of a system to another. In this previous transplantation work [12], code from several versions of MiniSAT (the 'donor') were transplanted into a specific version of MiniSAT using GI.…”
Section: Introduction and Backgroudmentioning
confidence: 99%
“…In this previous transplantation work [12], code from several versions of MiniSAT (the 'donor') were transplanted into a specific version of MiniSAT using GI. The aim of this transplantation was to improve execution time for a specific task (Combinatorial Interaction Testing).…”
Section: Introduction and Backgroudmentioning
confidence: 99%