Show simple item record

dc.contributor.advisorMartin Rinard
dc.contributor.authorLong, Fanen_US
dc.contributor.authorRinard, Martinen_US
dc.contributor.otherProgram Analysis and Compilationen
dc.date.accessioned2015-07-14T15:45:04Z
dc.date.available2015-07-14T15:45:04Z
dc.date.issued2015-07-13
dc.identifier.urihttp://hdl.handle.net/1721.1/97735
dc.description.abstractWe 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.en_US
dc.format.extent13 p.en_US
dc.relation.ispartofseriesMIT-CSAIL-TR-2015-027en_US
dc.titleProphet: Automatic Patch Generation via Learning from Successful Patchesen_US
dc.date.updated2015-07-14T15:45:05Z


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record