Field-sensitive program slicing

[EN] 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...

ver descrição completa

Detalhes bibliográficos
Autores: Galindo, Carlos|||0000-0002-3569-6218, Silva, Josep|||0000-0001-5096-0008, Jens, Krinke, Pérez-Rubio, Sergio
Formato: artículo
Fecha de publicación:2024
País:España
Recursos:Universitat Politècnica de València (UPV)
Repositorio:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Idioma:inglés
OAI Identifier:oai:riunet.upv.es:10251/227242
Acesso em linha:https://riunet.upv.es/handle/10251/227242
Access Level:acceso abierto
Palavra-chave:Program analysis
Program slicing
Composite data structures
Descrição
Resumo:[EN] 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%.