Automatic patch generation by learning correct code
We present Prophet, a novel patch generation system that works with a set of successful human patches obtained from open source software repositories to learn a probabilistic, application independent model of correct code. It generates a space of candidate patches, uses the model to rank the candidate patches in order of likely correctness, and validates the ranked patches against a suite of test cases to find correct patches. Experimental results show that, on a benchmark set of 69 real world defects drawn from eight open source projects, Prophet significantly outperforms the previous state of the art patch generation system.
POPL