Abstract

An important challenge in finding latent errors in software is to find predicates which have the most effect on program failure. Since predicates have mutual effects on each other, it is not a good solution to analyze them in isolation, without considering the simultaneous effects of other predicates on failure. The aim is to detect those predicates which are best bug predictors and meanwhile have the least effects among themselves. To achieve this, recursive ridge regression method has been applied. In order to determine the main causes of program failure, the association rule generation is used to detect those predicates which are most often observed with bug predictors in faulty executions. Based on the detected predicates, the faulty paths in control flow graph are introduced to the debugger. Our empirical results on two well-known test suites, EXIF and Siemens imply that the proposed approach could detect main causes of program failure with more accuracy.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call