Slashdot Log In
Distributed Statistical Debugging
Posted by
michael
on Thu Oct 09, 2003 12:49 PM
from the data-crunching dept.
from the data-crunching dept.
Luis Villa writes "The Cooperative Bug Isolation Project at UC Berkeley and Stanford is working on statistical debugging techniques to report, find, and fix the bugs that drive the most users crazy every day. A handful of outside bug volunteers have been running the project's special feedback builds for a few weeks, and that has generated some really interesting data. But for strong results they need more runs. /. has been known to generate those kinds of big numbers ;) Their site has feedback builds of several open source applications, and the entire project is open sourced. Read more about it, then install some applications, and help them make our free software better for everyone. I'm really looking forward to the end results."
Related Stories
[+]
Debugging Expert Wins ACM Dissertation Award 83 comments
An anonymous reader writes "The Association for Computing Machinery (ACM) is reporting that Ben Liblit has been awarded the 2005 Doctoral Dissertation Award for his study on understanding and fixing software 'bugs' in the real world. From the article: 'Liblit's dissertation proposes a method for leveraging the key strength of user communities - their overwhelming numbers. His approach uses sparse random sampling rather than complete data collection for gathering information from the experiences of large numbers of software end users. It also simultaneously ensures that the observed data is an unbiased, representative subset of the complete program behavior across all runs.' Slashdot broke the story on this research back in 2003. Apparently the project is still going strong."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
It has to be said... (Score:1)
Bugs.... (Score:2)
Re:Bugs.... (Score:2, Informative)
cybermace5 asked:
It's a numbers game. We're looking for statistical trends in large numbers of runs. That means we will learn the most, the most quickly, about the bugs that are happening most often to the most users. Bug triage falls out as a natural consequence of the sparse sampling and statistical modeling approach.
That said, you suggestion about measuring head-into-keyboard smacks isn't half bad. There are some gr
Re:Bugs.... (Score:1)
This project does nothing at all to deal with the bugs which are most annoying and difficult to report.
Perhaps it should be called it the Cooperative Crash Isolation project.
Re:Bugs.... (Score:2, Informative)
But in the current public deployment you are quite right that we only pick up on crash bugs. Consider that the more general project name gives us something to aspire to.
Re:Bugs.... (Score:1)
The highest profile example is Mozilla's terrible "voting" system, where I must already know the bug's number before I can be annoyed by it.
The most promising example that I've seen so far is bugs.kde.org, wherein a user attempting to report a bug is presented with a list of likely preexisting matches. If users were encouraged to add a noiseless "me too" to a bug database of that sort, it mi
Re:Bugs.... (Score:2)
Naturally, as you're merely CS doctoral student at Cal and I'm some ignoramus raving at you on Slashdot, my opinion ne
Re:Bugs.... (Score:2, Informative)
In our current deployment, we only learn about problems that crash the application. These are important bugs, but they are certainly not the only bugs.
We are considering ways to let users manually report non-crash misbehavior. I know that this is something that The GIMP's developers are very interested in, and we are already doing controlled experiments along similar lines. The underlying statistical debugging technique
Didn't Microsoft patent something like this ? (Score:1)
I've got your debugging right here (Score:2)
Can you do something about these ladybugs that are driving Midwesterners nuts [google.com], then?
props (Score:1)
Re:props (Score:2)
Re:props (Score:2)
They had this idea first.
MS has a database of all the crashes reported by its bug reporting tool(in XP & WS03), these crashes are analyzed, sorted and categorized and help them fix the bugs.
Its not a bug (Score:1)
Sorry...had to be said
I have a bad bug on my owrk PC (Score:1)
What Really Interesting Data? (Score:1)
Fix bugs...? (Score:2, Funny)
A debugger that FIX BUGS?
What's next? A compiler that brews beer?
distributed programming... (Score:1)
Re:distributed programming... (Score:1)
Other architectures? (Score:3, Interesting)
From my reading of this, it sounds like the data is going to be architecture specific (i.e. x86, PPC). So that means that those hundreds of thousands of samples that are needed, would be needed for every architecture.
Hmph, mean they probably won't figure out why some programs are seemingly less stable on PPC :( But, I guess many bugs effect every architecture, so I can be happy about that ;)
Re:Other architectures? (Score:5, Insightful)
Consider: projects such as openssh and Apache do not issue separate vulnerability warnings for different platforms. If a memory-corruption bug exists, it is probably exploitable on most platforms given the right conditions.
Still, it's very likely that some particular bug cause crashes often on PPC, but is less likely to be tickled on x86. Then it might not get fixed, because it's less likely to be reported. But if a PPC user does report it, the x86 users benefit from the fix too, even if for them it was a fairly obscure and not-often-noticed bug.
Parent
Re:Other architectures? (Score:2)
Re:Other architectures? (Score:2)
Yes, but if you fix a crash-causing bug (such as a buffer overrun) on one architecture, it's likely that the same bug was present on others. Or rather, would also cause a crash on other platforms - since a bug is a property of the source code, the meaning of the program, and the fact that a program happens to work on Tuesday doesn't mean the bug is not there.
Yes, but I was thinking more like endianness bugs and casting pointers to integers on 64-bit machines (yeah, there are still people who do this).
Re:Other architectures? (Score:1)
The instrumentation is injected early during compilation, at roughly the source code level. We're looking at things like variables, function returns, branches, etc.: source-level constructs. Thus, the data is not architecture specific.
Of course, if the bug is architecture specific, then identifying the vulnerable architecture is part of what we'd want the system to produce as analysis results.
By design the system learns the most about the most frequent failures. So yes, that probably means that we wi
Re:Other architectures? (Score:2)
Number 1 on the list (Score:3, Funny)
Patent violation (Score:2)
Microsoft's Distributed Statistical Debugging (Score:2, Interesting)
In my calculations Microsoft must have gotten at least 30,000 reports of this bug and it is still not fixed yet...
Re:Microsoft's Distributed Statistical Debugging (Score:1)
Who's crash (Score:2)
Re:Microsoft's Distributed Statistical Debugging (Score:2, Insightful)
Yes, but what makes you think the feature doesn't work?
Re:Microsoft's Distributed Statistical Debugging (Score:3, Insightful)
Now that would be cool! (and very much like an automated bugzilla interface compiled w/ the code
Re:Microsoft's Distributed Statistical Debugging (Score:2)
> or a bug ID in the DB so that you could look back later
> and see how many other entries have been logged for the
> same error and if a patch is in the making
I'm repeating myself, but:
http://www.bugtoaster.com/
TalkBack's Full Circle (as used in Mozilla) in theory does the same, just not publically.
I've also developed a similar thing for Python, it's on sourceforge, but not released yet.
Re:Microsoft's Distributed Statistical Debugging (Score:2)
Re:Microsoft's Distributed Statistical Debugging (Score:2)
They need to do a version of MySQL (Score:2)
RPM only? (Score:2)
Re:RPM only? (Score:1)
We would like to support more distros; it's just a matter of prioritizing our limited resources [berkeley.edu]. If there is a specific alternate distro that you want to see, please let us know [berkeley.edu]. I can't make any promises, but we have every motivation to be responsive to the interests of potential users.
really excelent stuff (Score:1)
No Ebuild? (Score:2)
I guess they don't want the thousands of gentoo users to participate... Shame - they're the sort to be likely to contribute something to said bug reports since they are more likely to know something about programming...
Re:No Ebuild? (Score:2)
Personally, I like the gentoo portage system. I'd really prefer not to mix rpms and ebuilds on my system - my guess is that it will eventually come back to haunt me. I'd probably sooner just download a source tarball and stick it in usr/local where I can get rid of it later if I put in the protage-supported version.
That being said - I have no religious devotion to portage. If somebody else wants rpms or to use apt-get, all the more power to them...
Nifty, but can't follow C++ yet (no Open Office) (Score:2)
That's too bad, because the open source application most needing high reliability is Open Office. Don't get me wrong - Open Office is quite useable, and I experience fewer reliability problems with it than with Microsoft Office. However, making Open Office extremely reliable (far beyond most software) would help far more people than getting the GIMP mor
RTFA (Score:3, Insightful)
the "stanford bug checker" is a static source analysis program. this is something else entirely, and arguably more useful.
Re:RTFA (Score:2)
I think they both have their use. This system takes samples of the state of a running program and does a statistical to see wich state is likely to be the cause of a crash. Not really something that can't be done by a programmer using a debugger, but automatic and given sufficient input i might point you to exactly what condition causes a crash. The stanford bug checker try to prevent
Re:RTFA (Score:2)
Russians won WWII (Score:1, Offtopic)
20 mln is an "official" figure. (Score:1, Offtopic)
Nobody turned over Jews, SS troops were good at finding them themselves. Nobody protected
I got a revelation for you (Score:1)
Second front (Score:2)
Never mind, we asked for Stalin's help to fight Japan. Which he did. After the atomic bombs were dropped.
Re:TO America: (Score:2, Insightful)
Why the hell not!? Freedom of speech is a right. Not a luxury good to be traded.