Fault localization based on dynamic slicing via JSlice for Java programs

Many recent studies on fault localization based on program slicing have mainly focused on static slicing techniques, while the research on fault localization using dynamic slicing tool is insufficient. One reason is that dynamic slicing tools are less available than static ones. In our paper, we present the use of the dynamic slicing tool, JSlice, which is a dynamic slicing tool available for Java programs. Our experiments choose six representative Java programs, all of which were Java version of Siemens programs which were translated from C version. The results show that dynamic slicing can effectively locate faults and JSlice is an effective dynamic slicing tool.

[1]  Eugene H. Spafford,et al.  Critical slicing for software fault localization , 1996, ISSTA '96.

[2]  Xiangyu Zhang,et al.  A study of effectiveness of dynamic slicing in locating real faults , 2006, Empirical Software Engineering.

[3]  Thomas W. Reps,et al.  Integrating noninterfering versions of programs , 1989, TOPL.

[4]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[5]  Tao Wang,et al.  Dynamic slicing on Java bytecode traces , 2008, TOPL.

[6]  Xiangyu Zhang,et al.  Locating faulty code using failure-inducing chops , 2005, ASE.

[7]  Mark Weiser,et al.  Programmers use slices when debugging , 1982, CACM.

[8]  Karl J. Ottenstein,et al.  The program dependence graph in a software development environment , 1984, SDE 1.

[9]  Jie Tian,et al.  Automating Software FMEA via Formal Analysis of Dependence Relations , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[10]  John Hatcliff,et al.  Slicing concurrent Java programs using Indus and Kaveri , 2007, International Journal on Software Tools for Technology Transfer.

[11]  Xiangyu Zhang,et al.  Dynamic slicing long running programs through execution fast forwarding , 2006, SIGSOFT '06/FSE-14.

[12]  Xiangyu Zhang,et al.  Memory slicing , 2009, ISSTA.

[13]  David W. Binkley,et al.  Interprocedural slicing using dependence graphs , 1990, TOPL.

[14]  Xiangyu Zhang,et al.  Experimental evaluation of using dynamic slices for fault location , 2005, AADEBUG'05.

[15]  Joseph Robert Horgan,et al.  Dynamic program slicing , 1990, PLDI '90.

[16]  Manu Sridharan,et al.  Thin slicing , 2007, PLDI '07.

[17]  Raúl A. Santelices,et al.  Lightweight fault-localization using multiple coverage types , 2009, 2009 IEEE 31st International Conference on Software Engineering.