3 ms·
> I could go on in detail about how there is approximately zero research being devoted to, eg, automated refactoring of large codebases and other stuff that you
by munin 12y ago
> I could go on in detail about how there is approximately zero research being devoted to, eg, automated refactoring of large codebases and other stuff that you'd expect to be absolutely essential to general AI.
the programming languages community has a fairly significant amount of effort devoted to automated re-factoring of large codebases, there is even a DARPA program for this: http://www.darpa.mil/Our_Work/I2O/Programs/Mining_and_Understanding_Software_Enclaves_%28MUSE%29.aspx http://www.darpa.mil/Our_Work/I2O/Programs/Mining_and_Unders...
this isn't seen as "AI" work though...
- fidotron 12y agoThat's the classic AI success story problem in a nutshell: anything successful from the AI field gets rebranded as something else.
- ScottBurson 12y agoIn this case the situation is different. AI researchers didn't succeed at program analysis; they gave up. @fiatmoney is right: it's no longer considered an AI problem. But computer scientists haven't solved it either, because they keep bumping their heads against the computability ceiling. It's very clear to me that AI is actually required for general, accurate program analysis.
- munin 12y agowhy? we get general and accurate program analysis all the time using just unification and simple inference rules...
- ScottBurson 12y agoNo, you don't. You may be able to infer some properties of some programs, but you can't take an arbitrary program of real-world size and answer an arbitrary question of a kind that a human maintainer of that program would want to know; for example, under what circumstances, if any, it ever performs an invalid operation -- such as an array bounds violation, throwing a runtime exception, whatever is considered invalid in whatever language it's written in. That's what I mean by "general and accurate".
- munin 12y agoyes you can, in many dimensions. one of those we call "type checking". other examples are the myriad examples of using model checking and symbolic execution to identify errors in programs automatically. can you identify all errors? no, but that has nothing to do with weak or strong AI. but you can definitely learn general properties about general programs using today's technology.
- ScottBurson 12y agoI'm certainly not saying that static analysis is useless; that would be an odd statement considering it's the field that pays my salary! But there's still a very big gap between what we can do and what we want to do. None of the extant static analyzers found the Heartbleed bug, for example. What I'm saying is that to close that gap will require AI. I don't think it's just a matter of better algorithms.