UCL Global


ValueScope Localisation for Automated Program Repair

Tackling the value origin problem for Java. Part of the Cities partnership Programme.

23 September 2022

This project will tackle the value origin problem for Java, a widely-adopted programming language. The researchers plan to build a software pipeline that automatically identifies the origin of an unexpected value and generates a patch for the origin so that it produces the correct value. This pipeline will consist of ValueScope, a novel program analysis tool that tracks an unexpected value back to its origin, and ValueRepair, an automated program repair (APR) tool that uses ValueScope to locate and fix the bug.

Because preliminary results show that ValueScope advances state-of-the-art in bug localisation, a critical component of APR, we expect ValueRepair also to advance state of the art in APR. This project will build on a previous collaboration between Prof. Monperrus and Prof. Barr, which produced Casper, a tool that tracks how a null propagates from its production to the dereference site. 

This project extends Casper in two ways. First, Casper restricts the value of interest to null; ValueScope accepts any values, including those that are not necessarily erroneous. Second, ValueRepair extends value-based localisation to APR and aims to find the origin of an unexpected value and fix it.


Software Engineering

UCL leads