How MIT’s Genesis System Cuts Bug‑Fix Time in Half with Automated Patch Generation
MIT researchers introduced the Genesis system, which automatically learns from existing patches to generate and evaluate new patch templates, achieving nearly double the bug‑fix success of the best hand‑crafted approaches and reducing programmers' fixing time by about 50%.
MIT’s research team has created a system called Genesis that automatically learns from previously applied patches, generates patch templates, and evaluates candidate patches. The system’s bug‑fix success rate is almost twice that of the best hand‑crafted template systems, allowing programmers to spend roughly half the time fixing bugs.
Key Contributions
Template‑AST and generator‑based transformations that abstract patch and application specifics to capture common patterns across multiple patches.
A novel patch generalization algorithm that automatically creates transformations capturing common generation patterns from a set of patches.
An innovative search‑space reasoning algorithm, including a new sampling method and an ILP‑based selection solution, to identify promising subsets of training patches.
A complete patch‑generation system with bug localization and candidate‑patch evaluation, demonstrated on large‑scale real‑world applications.
Experimental Results
In experiments on 41 bugs from 49 test cases across 21 open‑source Java projects, Genesis correctly repaired 21 bugs, whereas the best existing hand‑written Java patch generator repaired only 11. The system selected 85 diverse templates from an initial pool of 5–10 hand‑crafted ones, improving both coverage and precision.
All experimental data, including Genesis source code, inference templates, and generated patches, are available at http://groups.csail.mit.edu/pac/patchgen/ .
21CTO
21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
