Empirical Software Engineering

, Volume 12, Issue 2, pp 143–160

A study of effectiveness of dynamic slicing in locating real faults

Article

DOI: 10.1007/s10664-006-9007-3

Cite this article as:
Zhang, X., Gupta, N. & Gupta, R. Empir Software Eng (2007) 12: 143. doi:10.1007/s10664-006-9007-3

Abstract

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.

Keywords

Dynamic program slicingFault locationData slicingFull slicingExploring slices

Copyright information

© Springer Science + Business Media, LLC 2006

Authors and Affiliations

  1. 1.Department of Computer ScienceThe University of ArizonaTucsonUSA