Automatic patch generation via learning from successful human patches
Author(s)
Long, Fan, Ph. D. Massachusetts Institute of Technology
DownloadFull printable version (25.12Mb)
Other Contributors
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
Advisor
Martin C. Rinard.
Terms of use
Metadata
Show full item recordAbstract
Automatic patch generation holds out the promise of automatically correcting software defects without the need for developers to manually diagnose, understand, and correct these defects. This dissertation presents two novel patch generation systems, Prophet and Genesis, which learn from past successful human patches to enhance the patch generation process. The core of Prophet and Genesis is a novel learning technique that extracts universal properties of correct code and a novel inference technique that generalizes universal patching strategies across different applications. The results show that the learning and inference techniques enable Prophet and Genesis to operate with rich and tractable search spaces that contain many useful patches and efficient search algorithms that prioritize correct patches. By collectively leveraging development efforts worldwide, Prophet and Genesis automatically generate correct patches for real-world defects in large open-source C and Java applications with up to millions lines of code.
Description
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2018. Cataloged from PDF version of thesis. Includes bibliographical references (pages 285-296).
Date issued
2018Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer SciencePublisher
Massachusetts Institute of Technology
Keywords
Electrical Engineering and Computer Science.