SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Thu 19 Nov 2020 03:40 - 04:00 at SPLASH-V - Session 1

The System Dependence Graph (SDG) is a program representation used in several static analyses. In particular, it is the basis of program slicing, a technique that extracts the part of the program that may directly or indirectly 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 situations like inheritance, polymorphism, or dynamic bindings. Currently, the most advanced approach is the Java System Dependence Graph (JSysDG), which subsumes previous approaches and that is able to represent all those situations. 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. To solve this limitation, we first identify the source of the problem: the representation of dependences between partial definitions of objects is insufficient in the JSysDG, leading to a loss of precision in many cases. 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.

Thu 19 Nov
Times are displayed in time zone: Central Time (US & Canada) change

03:00 - 04:20: Session 1TAPAS at SPLASH-V
03:00 - 03:20
Paper
TAPAS
03:20 - 03:40
Paper
TAPAS
Jan-Patrick LehrScientific Computing, TU Darmstadt, Alexander HückInstitute for Scientific Computing, TU Darmstadt, Yannic FischlerTU Darmstadt, Christian BischofScientific Computing, TU Darmstadt
03:40 - 04:00
Paper
TAPAS
04:00 - 04:20
Paper
TAPAS
Justus AdamUniversity of Kent, UK, Stephen KellUniversity of Kent
Pre-print