accept

open override fun accept(startNode: Node)

Computes the CDG for the given startNode. It performs the following steps:

  1. Compute the "parent branching node" for each node and through which path the node is reached

  2. Find out which branch of a BranchingNode is actually conditional. The other ones aren't.

  3. For each node: 3.a) Check if the node is reachable through an unconditional path of its parent BranchingNode or through all the conditional paths. 3.b) Move the node "one layer up" by finding the parent node of the current BranchingNode and changing it to this parent node and the path(s) through which the BranchingNode node is reachable. 3.c) Repeat step 3) until you cannot move the node upwards in the CDG anymore.