2015
DOI: 10.1007/978-3-319-22183-0_20
|View full text |Cite
|
Sign up to set email alerts
|

Object-Oriented Genetic Improvement for Improved Energy Consumption in Google Guava

Abstract: Abstract. In this work we use metaheuristic search to improve Google's Guava library, finding a semantically equivalent version of com.google. common.collect.ImmutableMultimap with reduced energy consumption. Semantics-preserving transformations are found in the source code, using the principle of subtype polymorphism. We introduce a new tool, Opacitor, to deterministically measure the energy consumption, and find that a statistically significant reduction to Guava's energy consumption is possible. We corrobor… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

1
16
0

Year Published

2016
2016
2024
2024

Publication Types

Select...
4
2
1

Relationship

4
3

Authors

Journals

citations
Cited by 25 publications
(17 citation statements)
references
References 14 publications
1
16
0
Order By: Relevance
“…by removing bugs [8,9,10,11,12,13,14,15,16] or adding to its abilities [17,18,19,20,21,22]. Non-functional improvements that have been considered or results reported include: faster code [23,24], code which uses less energy [25,26,27,28,29,30,31,32,33,34] or less memory [35], and automatic parallelisation [36,37,38] and automatic porting [39] and embedded systems [40,41,25,42,43,44,45] as well as refactorisation [46], reverse engineering [47,48] and software product lines [49,50]. There is very much a GI flavour in the air with a three-fold increase in GI publications (as measured by GI papers in the genetic programming bibliography) since the first GI workshop [51] was first mooted (October, 7 2014) 1 .…”
Section: Genetic Improvementmentioning
confidence: 99%
“…by removing bugs [8,9,10,11,12,13,14,15,16] or adding to its abilities [17,18,19,20,21,22]. Non-functional improvements that have been considered or results reported include: faster code [23,24], code which uses less energy [25,26,27,28,29,30,31,32,33,34] or less memory [35], and automatic parallelisation [36,37,38] and automatic porting [39] and embedded systems [40,41,25,42,43,44,45] as well as refactorisation [46], reverse engineering [47,48] and software product lines [49,50]. There is very much a GI flavour in the air with a three-fold increase in GI publications (as measured by GI papers in the genetic programming bibliography) since the first GI workshop [51] was first mooted (October, 7 2014) 1 .…”
Section: Genetic Improvementmentioning
confidence: 99%
“…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%
“…Kocsis et al also automatically repaired 451 systematic errors in the implementation of the Apache Hadoop HPC framework [17], whilst simultaneously significantly improving performance. In addition to the work improving Quicksort for energy efficiency mentioned in Section 2, Burles et al [6], also obtained a 24% improvement in energy consumption by optimising a single widely-used class, ImmutableMultimap, in Google's Guava collection library. They used a Genetic Algorithm and constrained the search space via the behavioural contracts of Object-Orientation.…”
Section: Threats To Validitymentioning
confidence: 99%