Researchers Add Software Bugs To Reduce the Number of Software Bugs (networkworld.com)
Reader alphadogg writes: Researchers are adding bugs to experimental software code in order to ultimately wind up with programs that have fewer vulnerabilities. The idea is to insert a known quantity of vulnerabilities into code, then see how many of them are discovered by bug-finding tools. By analyzing the reasons bugs escape detection, developers can create more effective bug-finders, according to researchers at New York University in collaboration with others from MIT's Lincoln Laboratory and Northeastern University. They created large-scale automated vulnerability addition (LAVA), which is a low-cost technique that adds the vulnerabilities."The only way to evaluate a bug finder is to control the number of bugs in a program, which is exactly what we do with LAVA," says Brendan Dolan-Gavitt, a computer science and engineering professor at NYU's Tandon School of Engineering.
The practice is known as "bug farming", and has been around since at least the mid-80s.
I learned it when I was in college in '84.
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
I always hated that that quote ignores the unknown knowns. (Things we know, but don't know we know) They are often the most important things - and things we don't write down until after someone asks us "how did you do that?"
excitingthingstodo.blogspot.com
So wait, what you're telling me is that someone just finally discovered that it is a good idea to unit test the unit testing tools!?
You're looking for this picture ... "Ignorance Map"
https://lh3.googleusercontent....
* Known Unknowns -- All the things you you know you don't know
* Unknown Unknowns -- All the things you don't know you don't know
* Errors -- All the things you think you know but don't
* Unknown Knowns -- All the things you don't know you know
* Taboos -- Dangerous, polluting or forbidden knowledge
* Denials -- All the things too painful to know, so you don't
Ironically, it is missing the most important part:
* Known Knowns -- Everything you know (either by proof or experience)
--
Fix the broken political system -- POOL all political donations and then evenly divide them every quarter to every active party.
Please do not judge CS researcher by a single paper. BTW, this paper was not even the best paper at IEEE SP. (complete list with best papers at [1].)
From a quick read of the lava paper. It seems that the novelty aspect of LAVA is that the software can inject bugs automatically in complex codebase. So you no longer have a grad student writing obviously faulty code on a toy program or inserting a few bugs manually to test one or two software. LAVA allows you to insert a myriad of bug in a myriad of software to test border condition more accurately.
Clearly it is not the best idea of the decade, but it is a nice little tool/result.
[1] http://www.ieee-security.org/T...