Quantitative Program Slicing: Separating Statements by Relevance

Raul Santelices, Yiji Zhang, Siyuan Jiang, Haipeng Cai, and Ying-Jie Zhang

University of Notre Dame, USA; Tsinghua University, China

Track: New Ideas and Emerging Results
Session: Posters
Program slicing is a popular but imprecise technique for identifying which parts of a program affect or are affected by a particular value. A major reason for this imprecision is that slicing reports all program statements possibly affected by a value, regardless of how relevant to that value they really are. In this paper, we introduce quantitative slicing (q-slicing), a novel approach that quantifies the relevance of each statement in a slice. Q-slicing helps users and tools focus their attention first on the parts of slices that matter the most. We present two methods for quantifying slices and we show the promise of q-slicing for a particular application: predicting the impacts of changes.