Skip header navigation

University of Stirling

×

Project

Towards grammar-aware operators for automatic improvement of software

Funded by The Carnegie Trust.

Collaboration with Edinburgh Napier University, Queen Mary, University of London and University of Sheffield.

Software maintenance is one of the most time-consuming aspects of software development: valuable time is wasted on repair and improvements that could be better spent developing new features. Many parts of software maintenance are simply search problems, e.g. trying subtly different ways to implement particular routines, or choosing the order in which inter-related software components should be assembled. Genetic Improvement (GI) is a new technique that applies search-based optimisation methods to improving existing code, with the potential to reduce developer effort in maintance considerably. GI makes changes to the code, evaluates the resulting program, and uses this feedback to try further changes. This goes beyond conventional optimisations applied when the code is first compiled, to tune programs for specific usage patterns or input data, and can be used to fix bugs, or (for example) make the code run faster. However, existing GI techniques largely rely on coarse-grained code changes, like moving whole lines or statements. While GI has proven surprisingly effective for real-world programs, it ignores the subtleties of the programming language, making the search inefficient. This project will implement new GI operators that respect the Java programming language's grammar, and test their effectiveness when applied to well-used open-source software projects. This will improve understanding of how GI works, and build a foundation for further study beyond the life of the project. The operators will also be made available to the research community via the open-source GI framework GIN, for which the PI is already a contributor.

Total award value £9,908.00

People

Dr Alexander Brownlee
Dr Alexander Brownlee

Lecturer, Computing Science

Research programmes

Research themes

Scroll back to the top