sample

Bobby R. Bruce

PhD Student at University College London


Bobby R. Bruce is a full-time PhD student at the CREST centre in University College London which he started in September 2014. He supervised by Professor Mark Harman and Dr Earl Barr. Bobby received his Bachelor’s degree (1st class) in Software Engineering from Edinburgh Napier University in 2014. His research interests are SBSE, Genetic Improvement, and Energy Efficient Computing.

sample
sample

Publications



Reducing Energy Consumption Using Genetic Improvement

Bobby R. Bruce, Justyna Petke, and Mark Harman

GECCO 2015

ABSTRACT:

Genetic Improvement (GI) is an area of Search Based Software Engineering which seeks to improve software's non-functional properties by treating program code as if it were genetic material which is then evolved to produce more optimal solutions. Hitherto, the majority of focus has been on optimising program's execution time which, though important, is only one of many non-functional targets. The growth in mobile computing, cloud computing infrastructure, and ecological concerns are forcing developers to focus on the energy their software consumes. We report on investigations into using GI to automatically find more energy efficient versions of the MiniSAT Boolean satisfiability solver when specialising for three downstream applications. Our results find that GI can successfully be used to reduce energy consumption by up to 25%

DOI: 10.1145/2739480.2754752

PDF

Software And Data

Energy Optimisation via Genetic Improvement : A SBSE technique for a new era in Software Development

Bobby R. Bruce

GECCO 2015

ABSTRACT:

The discipline of Software Engineering has arisen during a time in which developers rarely concerned themselves with the energy efficiency of their software. Due to the growth in both mobile devices and large server clusters this period is undoubtedly coming to an end and, as such, new tools for creating energy-efficient software are required. This pa- per takes the position that Genetic Improvement, a Search- Based Software Engineering technique, has the potential to aid developers in refactoring their software to a more energy- efficient state; allowing focus to remain on functional requirements while leaving concerns over energy consumption to an automated process.

DOI: 10.1145/2739482.2768420

PDF

Specialising Guava's Cache to Reduce Energy Consumption

Nathan Burles, Edward Bowles, Bobby R. Bruce, and Komsan Srivisut

SSBSE 2015

ABSTRACT:

In this article we use a Genetic Algorithm to perform parameter tuning on Google Guava’s Cache library, specialising it to OpenTrip- Planner. A new tool, Opacitor, is used to deterministically measure the energy consumed, and we find that the energy consumption of OpenTrip- Planner may be significantly reduced by tuning the default parameters of Guava’s Cache library. Finally we use Jalen, which uses time and CPU utilisation as a proxy to calculate energy consumption, to corroborate these results.

DOI: 10.1007/978-3-319-22183-0_23

PDF

Optimising Quantisation Noise in Energy Measurement

William B. Langdon, Justyna Petke, and Bobby R. Bruce

2016 Research Note (UCL Computer Science; RN/16/01)

ABSTRACT:

A simple model of distributed Genetic Improvement running in parallel across a local area network in which start/stop commands are sent to measuring devices calculates a minimum usable software mutation effect based on the analogue to digital convert (ADC)'s resolution. With modern low cost power monitors, the high speed Ethernet LAN's jitter and delays appear to have little effect. Where the software to be improved permits it, optimal test duration is inversely proportionate to minimum mutation effect size, typically well under a second.

PDF

Optimising Quantisation Noise in Energy Measurement

William B. Langdon, Justyna Petke, and Bobby R. Bruce

PPSN 2016

ABSTRACT:

A simple model of distributed Genetic Improvement running in parallel across a local area network in which start/stop commands are sent to measuring devices calculates a minimum usable software mutation effect based on the analogue to digital convert (ADC)'s resolution. With modern low cost power monitors, the high speed Ethernet LAN's jitter and delays appear to have little effect. Where the software to be improved permits it, optimal test duration is inversely proportionate to minimum mutation effect size, typically well under a second.

DOI: 10.1007/978-3-319-45823-6_23

PDF

Deep Parameter Optimisation for Face Detection Using the Viola-Jones Algorithm in OpenCV

Bobby R. Bruce, Jonathan M. Aitken, Justyna Petke

SSBSE 2016

ABSTRACT:

OpenCV is a commonly used computer vision library containing a wide variety of algorithms for the AI community. This paper uses deep parameter optimisation to investigate improvements to face detection using the Viola-Jones algorithm in OpenCV, allowing a trade-off between execution time and classification accuracy. Our results show that execution time can be decreased by 48% if a 1.80% classification inaccuracy is permitted (compared to 1.04% classification inaccuracy of the original, unmodified algorithm). Further execution time savings are possible depending on the degree of inaccuracy deemed acceptable by the user.

DOI: 10.1007/978-3-319-47106-8_18

PDF

Software And Data

A Report on the Genetic Improvement Workshop@GECCO 2016

Bobby R. Bruce

SIGEVOLution Newsletter (Volume 9, Issue 2, 2016)

PDF

Approximate Oracles and Synergy in Software Energy Search Spaces

Bobby R. Bruce, Justyna Petke, Mark Harman, Earl T. Barr

2017 Research Note (UCL Computer Science; RN/17/01)

ABSTRACT:

There is a growing interest in reducing software systems' computation energy consumption through evolutionary optimisation techniques such as genetic improvement. Optimising energy consumption requires understanding the search space of code changes in terms of energy. When output preservation is a hard constraint, we show the maximum energy reduction achievable by a single modification is 2.69% (0.76% on average); when output approximation is permitted, such as lossy or less efficient compression, this figure increases to 95.60% (33.90% on average). Synergy occurs when simultaneous modifications produce a greater effect than their individual sum; we show its importance in the search space: 12.0% of all joint code modifications produced such an effect. That said, 38.5% of pairings did not produce a reduction greater than the most effective constituent member. Thus, greedy approaches to combining energy efficient modifications are insufficient; more advanced search-based approaches, such as evolutionary algorithms, are required.

PDF

Current Research



Bobby is currently working on automatic parallelisation of software using Genetic Improvement techniques. He retains an interest in optimising software for energy efficiency and other areas of Search-Based Software Engineering

Contact Details



Email : r.[surname] [at] cs.ucl.ac.uk

Website : http://www0.cs.ucl.ac.uk/staff/r.bruce/

Address : Malet Place Engineering Building, UCL, London

CV