author thumb

Hello, my name is Zhewei Hu
Software Engineer@Microsoft Azure
Ph.D.@NC State

Automated Program Repair in Expertiza

Bug fixing is a time-consuming work. Recently, automated program repair receives more and more attentions. There are many existing tools which can fix Java, C and Python programs. To the best of my knowledge, no tool repairs on Ruby language, especially Ruby on Rails web application program.


I created an automated program repair tool named Mutator. It can fix Ruby on Rails runtime exception errors successfully. Mutator uses fix patterns offered by Mutant ruby gem to exhaustively produce patch candidates. For the experiment, I selected 17 real runtime exception errors and manually created developer patches and corresponding test cases. Mutator successfully fixed one runtime exception error with 20 solutions for 24 minutes each.

Overall, I made following contributions:
1. Benchmark: Manually created developer patches and corresponding test cases of selected Expertiza runtime exception errors.
2. Mutator: An automated program repair tool leveraging fix patterns. Mutator repairs on Ruby on Rails program. And it exhaustively generates patch candidates based on fix patterns.
3. Empirical evaluation: Presented the empirical evaluation results by applying Mutator to 17 Expertiza runtime exception errors and analyzed the results for future research of automated program repair.