Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Computer Science and Artificial Intelligence Lab (CSAIL)
  3. CSAIL Digital Archive
  4. CSAIL Technical Reports (July 1, 2003 - present)
  5. Prophet: Automatic Patch Generation via Learning from Successful Patches

Prophet: Automatic Patch Generation via Learning from Successful Patches

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2015-027.pdf

Size

392.47 KB

Format

Adobe PDF

Checksum (MD5)

e1bd60279baea6ed34d286ad3ae32666

Download all files submitted through automated deposit
fanl@CSAIL.MIT.EDU-55a43e61.29807.zip (353.06 KB)
Author(s)
Long, Fan
•
Rinard, Martin
Advisor(s)
Martin Rinard
Date Issued
July 13, 2015
Series/Report no.
MIT-CSAIL-TR-2015-027
Abstract
We present Prophet, a novel patch generation system that learns a probabilistic model over candidate patches from a database of past successful patches. Prophet defines the probabilistic model as the combination of a distribution over program points based on defect localization algorithms and a parametrized log-linear distribution over modification operations. It then learns the model parameters via maximum log-likelihood, which identifies important characteristics of the previous successful patches in the database. For a new defect, Prophet generates a search space that contains many candidate patches, applies the learned model to prioritize those potentially correct patches that are consistent with the identified successful patch characteristics, and then validates the candidate patches with a user supplied test suite. The experimental results indicate that these techniques enable Prophet to generate correct patches for 15 out of 69 real-world defects in eight open source projects. The previous state of the art generate and validate system, which uses a set of hand-code heuristics to prioritize the search, generates correct patches for 11 of these same 69 defects.
Persistent DSpace Link
http://hdl.handle.net/1721.1/97735
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.