CodeQL library for C/C++
Search

Member predicate DataFlow::Configuration::hasPartialFlowRev

Holds if there is a partial data flow path from node to sink. The approximate distance between node and the closest sink is dist and is restricted to be less than or equal to explorationLimit(). This predicate completely disregards source definitions.

This predicate is intended for data-flow exploration and debugging and may perform poorly if the number of sinks is too big and/or the exploration limit is set too high without using barriers.

This predicate is disabled (has no results) by default. Override explorationLimit() with a suitable number to enable this predicate.

To use this in a path-problem query, import the module PartialPathGraph.

Note that reverse flow has slightly lower precision than the corresponding forward flow, as reverse flow disregards type pruning among other features.

predicate hasPartialFlowRev(PartialPathNode node, PartialPathNode sink, int dist)