Hacker News new | past | comments | ask | show | jobs | submit login
SimFix: Automatically fix programs with existing patches from other projects (github.com)
96 points by magnetic 47 days ago | hide | past | web | favorite | 11 comments

My favorite paper on the subject of automatic program repair is "A Systematic Study of Automated Program Repair:Fixing 55 out of 105 Bugs for $8 Each" [0][1] see also http://program-repair.org/

[0] http://web.eecs.umich.edu/~weimerw/p/weimer-icse2012-genprog...

[1] https://squareslab.github.io/genprog-code/

We were attempting something similar last year but with ML (training from error messages to patchfiles to fix the given bug) but found it didn't scale well beyond simple scripts. This is very interesting though. There's a large potential market for this with continuous integration platforms.

Reminded me of a project from a friend of mine that unfortunately is pretty much dead since two years:


This one also creates graphs from code and once you write a fix for one pattern you can apply it to all.

EDIT: it's for python

Looks interesting, though I wonder what sort of checking would be needed to ensure it didn't accidentally replicate a bug everywhere because it was accidentally implemented while fixing something. You wouldn't want something like this on full automatic.

My guess is this is the sort of functionality you'd want as a GitHub bot that proposed PRs automatically for you to manually evaluate and merge.

That is pretty much what crossed my mind.

Though with the option to manually interact with local projects so it isn't locked to one particular repository manager.

This seems like a crazy idea. Does it actually work?

So if there's a fork what happens?

I'm skeptical that this would work, but if it does great, probably better suited to bugs than features?

I'm quite interested in the possibility of just letting it loose on the internet, and seeing what you get back.

It spots copy paste? And reproduces a code change on all the occurrences?

That sounds like a really interesting project! It could make the solving of issues really efficient. I wonder if there are not well-know assisting tools of the same kind.

import exploits;

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact