Union Slices for Program Maintenance
Árpád Beszédes, Csaba Faragó, Zsolt Mihály
Szabó, János Csirik and Tibor Gyimóthy
Owing to its relative simplicity and wide range of applications,
static slices are specifically proposed for software maintenance and program
understanding. Unfortunately, in many cases static slices are overly conservative
and therefore too large to supply useful information to the software maintainer.
Dynamic slicing methods can produce more precise results, but only for one
test case. In this paper we introduce the concept of union slices
(the union of dynamic slices for many test cases) and suggest using a combination
of static and union slices. This way the size of program parts that need
to be investigated can be reduced by concentrating on the most important
parts first. We performed a series of experiments with our experimental implementation
on three medium size C programs. Our initial results suggest that union slices
are in most cases far smaller than the static slices, and that the growth
rate of union slices (by adding more test cases) significantly declines after
several representative executions of the program.
Keywords: Software maintenance, reverse engineering, program analysis, program
slice, dynamic slicing
Back