Empirical Software Engineering

, Volume 12, Issue 2, pp 143-160

First online:

A study of effectiveness of dynamic slicing in locating real faults

  • Xiangyu ZhangAffiliated withDepartment of Computer Science, The University of Arizona
  • , Neelam GuptaAffiliated withDepartment of Computer Science, The University of Arizona
  • , Rajiv GuptaAffiliated withDepartment of Computer Science, The University of Arizona Email author 

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


Dynamic slicing algorithms have been considered to aid in debugging for many years. However, as far as we know, no detailed studies on evaluating the benefits of using dynamic slicing for locating real faults present in programs have been carried out. In this paper we study the effectiveness of fault location using dynamic slicing for a set of real bugs reported in some widely used software programs. Our results show that of the 19 faults studied, 12 faults were captured by data slices, 7 required the use of full slices, and none of them required the use of relevant slices. Moreover, it was observed that dynamic slicing considerably reduced the subset of program statements that needed to be examined to locate faulty statements. Interestingly, we observed that all of the memory bugs in the faulty versions were captured by data slices. The dynamic slices that captured faulty code included 0.45 to 63.18% of statements that were executed at least once.


Dynamic program slicing Fault location Data slicing Full slicing Exploring slices