TITLE:
Statistical Debugging Effectiveness as a Fault Localization Approach: Comparative Study
AUTHORS:
Ishaq Sandoqa, Fawaz Alzghoul, Hamad Alsawalqah, Isra Alzghoul, Loai Alnemer, Mohammad Akour
KEYWORDS:
Testing and Debugging, Dynamic Language, Statistical Debugging, Fault Localization
JOURNAL NAME:
Journal of Software Engineering and Applications,
Vol.9 No.8,
August
19,
2016
ABSTRACT: Fault localization is an important topic in
software testing, as it enables the developer to specify fault location in
their code. One of the dynamic fault localization techniques is statistical
debugging. In this study, two statistical debugging algorithms are implemented,
SOBER and Cause Isolation, and then the experimental works are conducted on
five programs coded using Python as an example of well-known dynamic
programming language. Results showed that in programs that contain only single
bug, the two studied statistical debugging algorithms are very effective to localize
a bug. In programs that have more than one bug, SOBER algorithm has limitations
related to nested predicates, rarely observed predicates and complement
predicates. The Cause Isolation has limitations related to sorting predicates
based on importance and detecting bugs in predicate condition. The accuracy of
both SOBER and Cause Isolation is affected by the program size. Quality
comparison showed that SOBER algorithm requires more code examination than
Cause Isolation to discover the bugs.