摘要

This paper presents an empirical study on the extent of the effect of dynamic slicing on statistical fault localization. The belief was that dynamic slicing could improve the accuracy of fault localization by reducing the scope of faults. However, what extent can dynamic slicing improve the accuracy of statistical fault localization? Whether the extra time overhead of the computation of dynamic slicing is worthy of the accuracy of fault localization improved by dynamic slicing? In an attempt to address these problems, we conducted an empirical study of comparing the effectiveness of 6 statistical fault localization techniques based on dynamic slicing with that on coverage information across 11 Java subject programs varying in size from 165 to 22318. We found that the effectiveness of the 6 statistical fault localization techniques is improved by dynamic slicing from 35.04% to 47.62% on average. We also found that the time overhead of the statistical fault localization technique based on dynamic slicing is 1.02 to 1.75 times of that on coverage information. Therefore, these results have provided a greater understanding of choosing dynamic slicing or coverage information to further locate faults.

全文