Quantitative Program Slicing: Separating Statements by Relevance

Author(s): Yiji Zhang, Siyuan Jiang, Haipeng Cai, Ying-Jie Zhang, Raul Santelices
Venue: International Conference on Software Engineering
Date: 2013

Type of Experiement: Case Study


This paper introduces a new way to ensure more reliable and accurate program slicing. Program slicing is a technique that allows you to identify which parts of the program affect or are affected by a particular value. The authors describe how traditional techniques for program slicing: static slicing and dynamic slicing result in an excess of false positives and/or false negatives. They introduce a new technique which they call quantitative slicing that prioritizes certain statements and uses that information to ensure the tools focus on the parts that matter the most first.

The authors created a new tool named SENSA for testing their quantitative slicing method. The results they gathered seem to point in the general direction that using quantitative slicing does produce much more accurate results. They even analyzed how expensive their tool is for quantitative slicing and concluded that the runtime overhead costs were acceptable but could be optimized.