Automatic Patch Generation with Context-based Change Application

PhD Thesis Proposal Defence


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

by

Mr. Jindae KIM


Abstract:

Automatic patch generation techniques leveraging human-written patches 
have shown impressive performance. Early techniques often have only a 
handful of fix templates or operations, hence their ability to generate 
various patches is limited. More recent techniques employ 
syntactic/semantic code search, or mining common change templates to 
supply abundant source of modifications for patch generation. However, 
acquiring abilities to generate more various patches brings a new issue 
that it is more difficult to find a necessary, correct patch for a bug 
among various candidates. Although existing techniques addressed the issue 
in their own ways, none of them explicitly used the context of collected 
changes.

In this thesis proposal, we introduce ConFix, an automatic patch 
generation technique using context-based change application, in order to 
add one more novel approach to automatic patch generation line-up. Our 
context- based change application technique provides a means to collect 
abstract AST subtree-level changes and their AST contexts. Given a target 
location to be modified, the technique identifies the location’s context, 
and only applies changes with the same context to that location. In this 
way, ConFix can filter out improbable fix locations if their contexts have 
not been appeared in collected contexts from human-written patches. It 
also effectively selects necessary changes among many collected changes by 
considering their contexts. Collected abstract changes are adapted to 
buggy source code using variables, types and methods appeared in the buggy 
code to increase utilization of the collected changes.

In the preliminary evaluation of ConFix with real Java bugs, ConFix 
successfully generated test-adequate patches for even more bugs than the 
total number of fixed bugs of three compared techniques combined. Some of 
these bugs have never been fixed by the compared techniques, and patches 
generated by ConFix have high-quality. We also found that AST contexts 
were indeed useful to support changes selection for automatic patch 
generation.


Date:			Thursday, 24 May 2018

Time:                  	3:00pm - 5:00pm

Venue:                  Room 4475
                         lifts 25/26

Committee Members:	Dr. Sunghun Kim (Supervisor)
  			Dr. Yangqiu Song (Chairperson)
 			Prof. Andrew Horner
 			Dr. Xiaojuan Ma


**** ALL are Welcome ****