Boffins at MIT have designed a Ruby on Rails interpreter that can find code flaws much faster than fleshy programmers.
Dubbed Space, the software has been tested against 50 popular web applications written in Rails, and found 23 previously undiagnosed security flaws. None of the programs required more than 64 seconds for a debugging run.
Professor Daniel Jackson from MIT's department of electrical engineering and computer science developed Space with a PhD student. They rewrote the code libraries Rails uses and fed the results into a Rails interpreter, which converted the software into machine-readable code after checking it for bugs using static analysis.
"The classic example of this is if you wanted to do an abstract analysis of a program that manipulates integers, you might divide the integers into the positive integers, the negative integers, and zero," Jackson said.
"The problem with this is that it can't be completely accurate, because you lose information," Jackson says. "If you add a positive and a negative integer, you don't know whether the answer will be positive, negative, or zero. Most work on static analysis is focused on trying to make the analysis more scalable and accurate to overcome those sorts of problems."
Two other attempts at a debugger were less successful, but Space worked just fine, and the developers say it would work even better if software developers integrate it into new code libraries rather than trying to rewrite old ones.
The final code will be presented at the International Conference on Software Engineering in Austin, Texas, in May. ®