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.
Knowns
Known Unknowns
Unknown Unknowns
You can't train your test for Unknown Unknowns. At best you can heuristically catch Known Unknowns. And Knowns are already Known, you just need to make sure your tools catch them.
Bell Labs (and its successor companies) have been doing this since the 1960s.
I never worked at a place where the ONLY DOCUMENTATION available is a list of bugs. Hmm...
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!?
This pretty much explains the Facebook app on Android. It's full of bugs, and every release they add more bugs... apparently hoping it'll make the other bugs go away
So this is what Computer Science research has come to? How would you test bug finding software without introducing known bugs to the programs under test? Magic?
No need for much research... especially if code is in a modern language like C# or Java
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
Or you could test your anti-virus software by visiting dodgy web sites....
...that leverages the actual practice of research. Read all about it.
Breakfast served all day!
Artificially introduced bugs are too predictable and contrived. "I'll introduce a buffer overrun error here." Fine. But unless the algorithm can also find real-world buffer overruns, it's not worth much. In real world bugs, the bug is often not obvious to a casual observer, as it would be with an artificially introduced bug.
Was going to say the same about Firefox...I thought I finally figured out their plan.
what about having real qa & not end users and your own coders be the testes?
And the QA needs to have the rights / means to change settings and set up the environment in different ways to test out different things. Helps to have people with a QA / testing mind set there.
For some things changes how things work from an standard / the way it has been for a long time to a new default can seem like an bug / lead to bad stuff happening. Like the Gear shift confusion issue that can kill people where was QA on that one? Or did the designers thing that the old way needed to change and did not take testing in put?
https://consumerist.com/2016/0...
http://money.cnn.com/2016/04/2...
http://www.roadandtrack.com/ne...
Title is really misleading...
My first day as a video game tester, I was told find bugs in a newly released video game for the PC. I expected to find none, as I naively assumed no one would knowingly ship a product with bugs. By the end of the day, I presented the bugs found. I found every bug that the game shipped with, including a hard-to-reproduce crashed bug. When I later became a lead video game, I fought battles with the developers to ship bug free products and got overruled every time. Their bonuses were dependent on the game being shipped on time (which wasn't the case most of the time). They didn't care.
This is what killed Anton Yelchin.
I feel sorry for people that don't drink, because when they get up in the morning, that's as good as they're gonna feel
I thought this was already called mutation testing in Computer Science. At least in that you create variants of the original program with subtle changes so you can see which mutants are "killed" (aka detected) by your test cases. The more mutants you kill the better the test suite. It seems strange the paper doesn't reference that research at all...
They're features.
And by adding more features, we're getting less - if it's Microsoft.
Contribute to civilization: ari.aynrand.org/donate
It's good to use checkers to check for dumb things. but code / syntax / etc checkers can't check sophisticated mistakes.
heck, people often can't check for sophisticated mistakes.
on the output side, sure if you want to have some known inputs, and run em thru the code, and see if you get expected outputs, thats good too.
but how do you simulate what happens in memory after the servers been running for 8 hours, with various buggy video drivers running bleeding-edge code?
or heck - how many of your known input checks go deep - like taking an ENTIRE DAYS worth of data. lots of problems start with weird corruption won't show up at first, it takes times to mess with things.
I dont want to be down on checking, but the summary makes it sounds like "we have discovered the silver bullet". as if.
The only way to stop a bad guy with a bug is with a good guy with a bug.
how embarrassing.
I wouldnt hire you to be anywhere near a computer
to catch an exception