Statisticaldebugging targets to streamline and automate the procedure of isolating bugs byprofiling several runs of the software and uses statistical analysis to identifythe possible causes of failure.

In this approach we use HOLMES as a statisticaldebugging tool to perform bug isolation. We will also discuss its design andimplementation. In order to perform bug isolation, this tool use path profilesinstead of predicate profiling. The way this tool work is, first it instrumentthe program that it can perform path profiling. Next execute the program andpath profile of both failure and successful program is run and used to recognizeand mark the path which is good predictor of program failing. Later we willshow that HOLMES is a more efficient and effective tool for bugs isolation alsowill explain some techniques of statistical debugging based on predicated.   Aswe know that statistical debugging is a technique used to gather informationabout program execution including both failure and successful program’s run andapply the statistical techniques to the point which is the reason of softwarefailure. Firstly it instrumented the program to gather data about differenttypes of predicates.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!

order now

There are three types of predicates, Branches, Returns andScalar-Pairs. Branches are related to Boolean conditions to track which pathhas taken either true one or false. Returns are related to scalar returning function,these are known as site. This is used to specify tracked the values of thesesix conditions, less than zero, less than equal to zero, greater than zero,greater than equal to zero, equal to zero and last one is not equal to zero.

Scalar-Pairs are related to scalar assignment. For example x=…, identifysimilar type in scope and each constant expression. Then by multiple executionof a program the aggregated information is gather in the form of feedbackreport.

The feedback report for a specificprogram execution is represented as a bit-vector, where two bits for eachpredicate observed and true), and one final bit representing success orfailure.