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 Companion 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

Deep Parameter Optimisation on Android Smartphones for Energy minimisation - A Tale of Woe and Proof-of-Concept

Mahmoud A. Bokhari, Bobby R. Bruce, Brad Alexander, Markus Wagner

GECCO Companion 2017 (To Appear)

ABSTRACT:

With power demands of mobile devices rising, it is becoming increasingly important to make mobile software applications more energy efficient. Unfortunately, mobile platforms are diverse and very complex which makes energy behaviours difficult to model. This complexity presents challenges to the effectiveness of off-line optimisation of mobile applications. In this paper, we demonstrate that it is possible to automatically optimise an application for energy on a mobile device by evaluating energy consumption in-vivo. In contrast to previous work, we use only the device's own internal meter. Our approach involves many technical challenges but represents a realistic path toward learning hardware specific energy models for program code features.

DOI: 10.1145/3067695.3082519

PDF

Software

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

Bobby R. Bruce

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

ABSTRACT:

In our 2016 paper 'Deep Parameter Optimisation for Face Detection Using the Viola-Jones Algorithm in OpenCV', we reported on an evolutionary, multi-objective approach to deep parameter optimisation that we reported could reduce execution time of a face detection algorithm by 48% if a 1.90% classification inaccuracy were permitted (compared to the 1.04% classification inaccuracy of the original, unmodified algorithm) and that further execution time savings were possible depending on the degree of inaccuracy permitted by the user. However, after publication we found an error in our experimental setup; instead of running the deep parameter optimisation framework using an evolutionary search-based approach we had been using a systematic one. We therefore re-ran the experiments using the intended evolutionary implementation alongside the systematic implementation for 1,000 evaluations and again for 10,000 evaluations. We found that the systematic setup is superior to the intended evolutionary setup in that it produces solutions which, when run on the test set, produce a richer Pareto frontier. The evolutionary approach, in the 10,000 evaluation setup, produced a better Pareto frontier on the training set. However, the majority of these solutions were infeasible or not Pareto optimal when run on the test set. We suspect this may be due to the evolutionary approach over-fitting to the training set.

PDF

Software and Data

Current Research



Bobby is currently working on automatic parallelisation of software using Genetic Improvement techniques.

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