This is undoubtedly cool research, but how useful is the automatic generation of a fix? In practice, finding the bug is by far the most important step. Once you've identified the problematic code, it's normally trivial to fix it.
That makes me think of the amount of satisfaction one will receive pushing MIT's autofix-it button as opposed to those seconds or minutes when you've caught the fucker and go in for the final fix.
Those moments of updating the files: That little euphoria of finding the fix but needing to focus to get it done correctly and finally hitting enter for the last time...ahhh.
I'd be interested in a tool that simply fixes the bugs found with static code analysis tools like findbugs. Some of them aren't very meaningful, like dead code... but if it could make good choices about how to handle slightly more complex situations like NPEs and that sort of thing it could make a lot of large corporate code bases a lot less buggy.
If it can identify a bug and fix it then its fully automatic. If its good enough we could eventually give it the password to our source control systems and let it do its thing unsupervised. As a funny thought I imagine a future virus that gains write access to all github projects but instead of deleting everything it just fixes all the bugs.
A better question is how many bugs does it find by inspection. I could easily see this as a step in a code review where it has the chance to flag potentially buggy code prior to committing it.
That's purely static analysis [1], a well-developed field with many existing tools across many languages. [2] One company, Coverity was purchased for $350 million. [3]
Any tool that auto-fixes code seems to be abused as "normal to rely on" unfortunately. Yesterday it was "compilation warnings? code will still work". Today it's "semicolons? runtime can put them where needed". Tomorrow it will be "code bugs? prophet will fix it".
/TODO: Prophet- you know the drill.. i want some PID control here- but i am busy chatting up the secretary. Good Boy. Also Rick from Recruiting was fired today- with no replacement..
*
*/