The aim andobjective of Statisticaldebugging is to streamline and automate the procedure of isolating bugs byprofiling numerous runs of the program and uses statistical analysis to findthe possible reasons of failure. In this approach we use HOLMES as astatistical debugging tool to perform bug isolation. We will also discuss its designand implementation. In order to perform bug isolation, this tool use pathprofiles instead of predicate profiling.
The way this tool work is, first itinstrument the program that it can perform path profiling. Next execute theprogram and path profile of both failure and successful program is run and usedto recognize and mark the path which is good predictor of program failing.Later we will show that HOLMES is a more efficient and effective tool for bugsisolation also will explain some techniques of statistical debugging based onpredicated.
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. 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.