2 ms·
A Genetic Programming Approach to Automated Software Repair
- nreece 17y agoWinner of the GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE award: http://www.genetic-programming.org/hc2009/cfe2009.html http://www.genetic-programming.org/hc2009/cfe2009.html
- Yrlec 17y agoI haven't read the entire report but it looks really cool. If I understand it correctly it can automatically detect and fix bugs previously found in other software. Would be really cool if you would have a huge database of known bugs which you can detect automatically. Kind of like collaborative unit-testing.
- jules 17y agoIt uses existing unit tests, so it doesn't find bugs by itself. I does try to find which code is responsible, if that's what you mean.
- unignorant 17y agoThis research group has made a great deal of progress since the writing of that paper. They have repaired much larger programs (most referenced here are unix utilities) using many more (100s) of positive test cases. As someone who is in a position to know a bit about their work, I find it very exciting. As some comments seem to have slightly misinterpreted the work, I'd like to clarify that the genetic algorithm does not find undocumented bugs. One needs, at minimum, a negative test case and some number of positive cases to begin the repair process. While the ga's fitness function attempts to ensure that no new bugs are introduced, this is of course impossible to establish with certainty. As the number of available and independent positive test cases increases, the repair becomes increasingly robust.