statistics - What is statistical debugging? -


What is statistical debugging? I have not yet received a clear, concise description, but the word seems definitely impressive.

Is this just a research topic, or is it being used somewhere for its real development? In other words: will this help in finding bugs in my program?

I have created statistical debugging. During the year, various wonderful partners wish I had seen your question months ago! But if you are still curious, maybe this late reply is nothing.

At the very highest level, the statistical model of the debugging program is the idea of ​​using failure to track the bugs / bugs, these statistical models relate the behaviors of specific program and ultimately success or failure of the run Busted. For example, suppose you see that there is a special branch in the program which sometimes runs, sometimes right. And you can also see that where the branch goes, it runs right there, but where the branch gets corrected it runs there, the probability of 75% of the accident is high, hence there is a statistical relationship which is worth looking at more closely It is possible. Statistical debugging formalizes and automates the process of finding the program, which is correlated with failure, to which developers are guided in the root causes of the bug.

Returning to your original question:

Is this just a research topic, or is it being used somewhere else for its real development?

This is mostly a research topic, but it is in the "real" world in two ways:

  1. Various running under Fedora Linux Bug hunting in open source programs You and every time you can use them, you are feeding the data to help us find bugs.

  2. Microsoft has released this visual studio thoroughly integrated and used statistical debugging to help detect their own bugs in their own code. It should be a very easy way for you. I have worked with Homes Holmes on Microsoft Research, and these are smart smart people who know the high quality tools. Keep a warning in mind: Statistical debugging requires substantial raw data to form a good statistical model. In the public deployment of CBI, raw data comes from real end users. With Holmes, I think that Microsoft believes that raw data will come from in-house automatic unit testing and manual testing. Whether will not work is not a code with any run, or with only unsuccessful runs, but there are no successful counterexplications statistical debugging, between good and bad runs contrast , So you have to play it both. If you want a bug-hunting device without running, you will need some sort of static analysis. I also research on that, but it is not statistical debugging. : -)

    I hope this helped and was not too long I am happy to answer any follow up questions. Happy bug-hunting!


Comments