Xj. Zhang et T. Shimomura, A program slicer using Def-Slice-Use tables for efficiently slicing both user-defined and library functions, IEICE T INF, E83D(9), 2000, pp. 1741-1751
Program slicing is a technique for statically analyzing a program and extra
cting an executable sub-program, which is called a program slice, from the
original program. This technique has been widely applied to program testing
, debugging and maintenance. This paper presents a slicing method for extra
cting program slices from a program that calls library functions, which are
provided as object code. The method this paper presents analyzes dependenc
e relationships between library functions using global data that are referr
ed to by the library functions but not explicitly declared in a program. In
this method, before slicing a program with respect to a slicing criterion,
a Def-Slice-Use table will be generated that stores slice information for
each function in the program by slicing these functions in advance, and the
n the program can be efficiently sliced using this table. The paper also il
lustrates some examples of program slicing using a program slicer LibSlicer
that implements this method.