CodeQL library for Python
codeql/python-all 7.2.8 (changelog, source)
Search

Module Make::DataFlowIntegration

Constructs the type Node and associated value step relations, which are intended to be included in the DataFlow::Node type and local step relations.

Additionally, this module also provides a barrier guards implementation.

Import path

import codeql.ssa.Ssa

Predicates

localFlowStep

Holds if there is a local flow step from nodeFrom to nodeTo.

localMustFlowStep

Holds if the value of nodeTo is given by nodeFrom.

Classes

ExprNode

An expression node.

ExprNodePreOrPost

A (post-update) expression node.

ExprPostUpdateNode

A post-update expression node.

Node

A data flow node that we need to reference in the value step relation.

ReadNode

A node corresponding to a (bb,i,v) tuple from variableRead(bb,i,v,true)

SsaDefinitionNode

An SSA definition, viewed as a node in a data flow graph.

SsaNode

A synthesized SSA data flow node.

SsaSynthReadNode

A node that represents a synthetic read of a source variable.

WriteDefSourceNode

A source of a write definition.

Modules

BarrierGuard

Provides a set of barrier nodes for a guard that validates an expression.

BarrierGuardDefWithState

Provides a set of barrier nodes for a guard that validates an expression.

BarrierGuardWithState

Provides a set of barrier nodes for a guard that validates an expression.

DfConsistency

Provides consistency checks that depend on the DataFlowIntegration inputs.

Predicate signatures

guardChecksSig

Holds if the guard g validates the expression e upon evaluating to val.

Type signatures

Parameters