Pidgin Crasher: Searching for Minimised Crashing GUI Event Sequences

Categories
Artificial Intelligece, Code Optimisation, Research

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.

SBSelector: Search Based Component Selection for Budget Hardware

Categories
Artificial Intelligece, Code Optimisation, Research

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.

Deep Parameter Optimisation

Categories
Artificial Intelligece, Code Optimisation, Research

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.

HOMI: Searching Higher Order Mutants for Software Improvement

Categories
Code Optimisation, Genetic Algorithms, Research

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.

Memory mutation testing

Categories
Research, Software Testing

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.