Emanuel Berg <embe8573@student.uu.se> writes:
[want to check for redundancy in code]
Yeah, this is extremely difficult to accomplish at any
level and to get it to be actually useful in practice
is close to impossible. And it is not needed.
Hmmm... at least for some people it seems important enough:
https://www.devexpress.com/Products/CodeRush/duplicate_code.xml
CodeRush is a (commercial) plugin for Microsoft Visual Studio and it
has some redundancy detection and removing abilities built in. I only
played a little bit with it and it is indeed quite impressing and
disappointing at the same time. Nevertheless, I think at least for
junior programmers it might have some value (and for programmers in
the industry with a high time pressure; its helpful to refactor
redundancies with just a press of a button and adding some new names).
I dare say the AI methods will *never* be able to do this!
AI methods today are even able to identify important and influential
paintings in the history of art:
http://www.technologyreview.com/view/538281/machine-vision-algorithm-chooses-the-most-creative-paintings-in-history/
Detecting patterns is one of the strong areas of machine learning and
redundancy is a pattern. I would assume that AI methods will at least
someday be quite good at it.