Automatic Patch Generation with Context-based Change Application

The Hong Kong University of Science and Technology
Department of Computer Science and Engineering


PhD Thesis Defence


Title: "Automatic Patch Generation with Context-based Change Application"

By

Mr. Jindae KIM


Abstract

Automatic patch generation is often described as a search problem of patch 
candidate space, and it has two major issues: one is search space size, and the 
other is navigation. An effective patch generation technique should have a 
large search space with a high probability that patches for bugs are included, 
and it also needs to locate such patches effectively.

In this thesis, we introduce ConFix, an automatic patch generation technique 
using Context-based Change Application (CCA). ConFix collects abstract AST 
changes from human-written patches with their AST contexts, by applying LAS, a 
newly developed Location Aware Source code differencing technique to provide 
abundant resources for patch generation. These collected changes are only 
applied to possible fix locations with the same contexts for patch generation. 
By considering changes with a matching context only, ConFix selects a necessary 
change for a possible fix location more effectively than considering all the 
collected changes. Also, ConFix filters out fix locations with no collected 
changes in the same context, which means that such locations have not been 
modified in human-written patches, hence they are not desirable for 
modifications.

We evaluated ConFix with a benchmark of real bugs from Defects4j dataset. 
ConFix showed comparable patch generation performance compared to 
state-of-the-art techniques, including generating patches for bugs which have 
never been fixed by other existing techniques. With context-based strategy, 
ConFix checked fewer fix locations than a strategy using only a spectrum-based 
fault localization technique until patches were generated. Also, it identified 
changes required for patches within in a few attempts for more than 80% of the 
patches.


Date:			Friday, 16 August 2019

Time:			10:00am - 12:00noon

Venue:			Room 3494
 			Lifts 25/26

Chairman:		Prof. Jiang Xu (ECE)

Committee Members:	Prof. Sung-Hun Kim (Supervisor)
 			Prof. Qifeng Chen
 			Prof. Andrew Horner
 			Prof. Jin Qi (IEDA)
 			Prof. Byung-Gon Chun (Seoul National University)


**** ALL are Welcome ****