Title:
Probabilistic Slicing for Predictive Impact Analysis
Probabilistic Slicing for Predictive Impact Analysis
Author(s)
Santelices, Raul
Harrold, Mary Jean
Harrold, Mary Jean
Advisor(s)
Editor(s)
Collections
Supplementary to
Permanent Link
Abstract
Program slicing is a technique that determines which statements in
a program affect or are affected by another statement in that program.
Static forward slicing, in particular, can be used for impact
analysis by identifying all potential effects of changes in software.
This information helps developers design and test their changes.
Unfortunately, static slicing is too imprecise—it often produces
large sets of potentially affected statements, limiting its usefulness.
To reduce the resulting set of statements, other forms of slicing
have been proposed, such as dynamic slicing and thin slicing, but
they can miss relevant statements. In this paper, we present a new
technique, called Probabilistic Slicing (p-slicing), that augments a
static forward slice with a relevance score for each statement by
exploiting the observation that not all statements have the same
probability of being affected by a change. P-slicing can be used,
for example, to focus the attention of developers on the “most impacted”
parts of the program first. It can also help testers, for example,
by estimating the difficulty of “killing” a particular mutant in
mutation testing and prioritizing test cases. We also present an empirical
study that shows the effectiveness of p-slicing for predictive
impact analysis and we discuss potential benefits for other tasks.
Sponsor
Date Issued
2010
Extent
Resource Type
Text
Resource Subtype
Technical Report