In this paper, we discuss an automated approach for exploring API equivalence and a framework to synthesise semantically equivalent programs.
Our proposed code optimisation solution, called Artemis++, tries to optimise inefficient data structures or library interfaces with automatic exploration and transformation of data structures to optimise software performance.
A new more efficient genetic based multiobjective algorithm is proposed to optimise software requirements for next release.
A new decision support framework for analysing uncertainty in requirements selection and optimisation problem.
A framework that simulates markets and the behaviour of its actors using decision making AI agents.
We present a search based testing system that automatically explores the space of all possible GUI event interleavings. Search guides our system to novel crashing sequences using Levenshtein distance and minimises the resulting fault-revealing UI sequences in a post-processing hill climb.
Determining which functional components should be integrated to a large system is a challenging task, when hardware constraints, such as available memory, are taken into account. We formulate such problem as a multi-objective component selection problem, which searches for feature subsets that balance the provision of maximal functionality at minimal memory resource cost.
“This paper presents a brief outline of a higher-order mutation based framework for Genetic Improvement (GI). We argue that search-based higher-order mutation testing can be used to implement a form of genetic programming (GP) to increase the search granularity and testability of GI.”
We introduce a mutation-based approach to automatically discover and expose ‘deep’ (previously unavailable) parameters that affect a program’s runtime costs. These discovered parameters, together with existing (‘shallow’) parameters, form a search space that we tune using search-based optimisation in a bi-objective formulation that optimises both time and memory consumption.
This paper introduces 9 Memory Mutation Operators targeting common memory faults and two new testing criteria, the Memory Fault Detection and the Control Flow Deviation criteria to augment the traditional strong mutation testing criterion.
This paper presents a brief outline of an approach to online genetic improvement. We illustrate our proposed approach with a ‘dreaming smart device’ example that combines online and offline machine learning and optimisation.
This paper introduces a Higher Order Mutation based approach for Genetic Improvement of software, in which the code modification granularity is finer than in previous work while scalability remains. The approach applies the NSGAII algorithm to search for higher order mutants that improve the non-functional properties of a program while passing all its regression tests.
A decision support framework (METRO) was proposed that handles the Next Release Problem (NRP) by managing better algorithmic and requirements uncertainty.
We introduce mutation-aware fault prediction, which leverages additional guidance from metrics constructed in terms of mutants and the test cases that cover and detect them.
Our novel code optimisation approach applied to optimise the performance of the popular Google Guava Library. Winner of the seach based software engineering challenge award.
We introduce Memory Mutation Testing, proposing 9 Memory Mutation Operators each of which targets common forms of memory fault. We compare Memory Mutation Operators with traditional Mutation Operators, while handling equivalent and duplicate mutants.