mistupv / JavaSlicer

A program slicer for Java, based on the system dependence graph (SDG).
https://mist.dsic.upv.es/JavaSlicer/demo/
GNU Affero General Public License v3.0
52 stars 18 forks source link

PDG loses structure after adding support for unconditional jumps #23

Closed jacosro closed 3 years ago

jacosro commented 4 years ago

Caused by #16

The PDG loses the structure when it is visually represented

cargaji commented 4 years ago

The old solution depended on the control flow edges creating a tree (no loops), but the inclusion of unconditional jumps breaks that assumption. The new creation of levels could be the following: all instructions that are contained (as in, they are inside of it) and controlled by another one are in the same level. If an instruction is on a given level, it cannot be part of another level. The inclusion should be performed from lower to higher id.

cargaji commented 3 years ago

As the graph gets more and more complex, there is no need or easy solution to this problem.