Field-sensitive program slicing

Carlos Galindo,Jens Krinke,Sergio Pérez,Josep Silva
DOI: https://doi.org/10.1016/j.jss.2023.111939
IF: 3.5
2024-01-13
Journal of Systems and Software
Abstract:The granularity level of the traditional program dependence graph (PDG) for composite data structures (tuples, lists, records, objects, etc.) is inaccurate when slicing their inner elements. We present the constrained-edges PDG (CE-PDG) that addresses this accuracy problem. The CE-PDG enhances the representation of composite data structures by decomposing statements into a subgraph that represents the inner elements of the structure, and the inclusion and propagation of data constraints along the CE-PDG edges allow for accurate slicing of complex data structures. Both extensions are conservative with respect to the traditional PDG, in the sense that all slicing criteria (and more) that can be specified in the PDG can be also specified in the CE-PDG, and the slices produced with the CE-PDG are always smaller or equal to the slices produced by the PDG. An evaluation of our approach shows a reduction in the size of the slices of around 10%.
computer science, theory & methods, software engineering
What problem does this paper attempt to address?