3 ms·
FYI The full paper can be found here: http://delivery.acm.org/10.1145/2740000/2737988/p43-sidirogloudouskos.pdf?ip=80.113.211.165&id=2737988&acc=OPEN&key=4D4702
by TeeWEE 11y ago
FYI The full paper can be found here:
http://delivery.acm.org/10.1145/2740000/2737988/p43-sidirogloudouskos.pdf?ip=80.113.211.165&id=2737988&acc=OPEN&key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E6D218144511F3437&CFID=524572299&CFTOKEN=51965653&__acm__=1435665069_096eebca6644a0f5e695dea4e5bdc5c8 http://delivery.acm.org/10.1145/2740000/2737988/p43-sidirogl...
In summary, for an app with an bug. You must know a) input that causes to bug to show up, b) input that doesnt cause an error. Then it will look for similar code in github, and try inserting the checks done from that code into the new code. And then it reruns the program, hoping that the bug is resolved.
This approach is very cool, and harnesses the power of lots of developer. But its also very limited. However thats what research is for. Small steps together are a big leap for mankind :p
I also like this conlusion in the article:
"""
In recent years the increasing scope and volume of software development
efforts has produced a broad range of systems with similar or
overlapping goals. Together, these systems capture the knowledge
and labor of many developers. But each individual system largely
reflects the effort of a single team and, like essentially all software
systems, still contains errors.
We present a new and, to the best of our knowledge, the first,
technique for automatically transferring code between systems to
eliminate errors. The system that implements this technique, CP,
makes it possible to automatically harness the combined efforts of
multiple potentially independent development efforts to improve
them all regardless of the relationships that may or may not exist
across development organizations. In the long run we hope this
research will inspire other techniques that identify and combine the
best aspects of multiple systems. The ideal result will be significantly
more reliable and functional software systems that better serve the
needs of our society.
"""
- vezzy-fnord 11y agoWell, so much for everyone panicking over strong AI taking over their jobs and writing bug-free software. Not that it isn't impressive, but there's been all sorts of academic projects throughout the years that require lots of manual intervention to work their outwardly powerful techniques, and many of them never even seeing the light of a public release.