Program slicing
URI permanente para esta colección:
Artículos en la categoría Program slicing publicados en las Actas de las XX Jornadas de Programación y Lenguajes (PROLE 2021).
Notificar un error en esta colección
Examinar
Envíos recientes
Artículo Conditional Control Dependence to Represent Catch Statements in the System Dependence GraphGalindo, Carlos; Pérez Rubio, Sergio; Sílva, Josep. Actas de las XX Jornadas de Programación y Lenguajes (PROLE 2021), 2021-09-22.Program slicing is a technique for program analysis and transformation with many different applications such as program debugging, program specialization, and parallelization. The system dependence graph (SDG) is the most commonly used data structure for program slicing. In this paper, we show that the presence of exception-handling constructs can make the SDG produce incorrect and sometimes even incomplete slices. We showcase the instances of incorrectness and incompleteness and we propose a new kind of control dependence: conditional control dependence; which produces more precise slices in the presence of catch statements.Artículo Object Variable Dependencies in Object-Oriented ProgramsGalindo, Carlos; Pérez Rubio, Sergio; Sílva, Josep. Actas de las XX Jornadas de Programación y Lenguajes (PROLE 2021), 2021-09-22.The System Dependence Graph (SDG) is a program representation that is the basis of program slicing, a technique that extracts the part of the program that can affect the values computed at a given program point (known as the slicing criterion). Several approaches have enhanced the SDG representation to deal with object-oriented programs, being the most advanced approach the Java System Dependence Graph (JSysDG). In this paper, we show that even the JSysDG does not produce complete slices in all cases when some object variables are selected as the slicing criterion. Then, we extend the JSysDG with the addition of a specific flow dependence for object type variables called object- flow dependence. This extension provides a more accurate flow representation between object variables and its data members and allows us to obtain complete slices when an object variable is considered as slicing criterion.