|
Automatic Program Repair: My research focuses on automatically repairing bugs in software. Our source code and benchmarks are available for your perusal. The main project site hosts additional resources for the interested researcher, though the source code/experiments available here have a slightly higher chance of being up-to-date. Code: Download here (tar.gz). You will need OCaml (anything from 3.09 should work; greater than 3.10 sometimes complicates building CIL; I'm currently using 3.12.) and the CIL Infrastructure for C Program Analysis and Transformation. The source code README focuses on compilation only; instructions on how to run experiments/use the code are found in the experiments tarball. Additional instructions available at the main project page. Experiments: Download a Giant Tarball (~330M) containing everything necessary to reproduce our bugs and repairs: buggy program source, test inputs/outputs/scripts, and overly-verbose READMEs on how to run everything. You may also find this useful if you need buggy C benchmarks for your own research. There exist a few bugs that are not yet included in the giant tarball; some may be found at the main project site. Patches: Download example patches, containing source code and generated patches for several of our large open-source benchmarks. Our technique operates on pre-processed source code, making the generated patches a bit difficult to read and less-than-portable between machines; this tarball includes both an automatically-generated patch and a human-generated version translated to the non-preprocessed source (for pedagogical purposes) per benchmark. Proposal: Automatic, Efficient, and General Repair of Software Defects Using Lightweight Program Analyses
Specification Mining With Few False Positives: Theory Lunch Presentations:
|
|