CodeQL library for C/C++
codeql/cpp-all 0.4.4 (changelog, source)
Search

Module MustFlow

This file provides a library for inter-procedural must-flow data flow analysis. Unlike DataFlow.qll, the analysis provided by this file checks whether data must flow from a source to a sink.

Import path

import semmle.code.cpp.ir.dataflow.MustFlow

Imports

DataFlow

Provides a library for local (intra-procedural) and global (inter-procedural) data flow analysis: deciding whether data can flow from a source to a sink. This library differs from the one in semmle.code.cpp.dataflow in that this library uses the IR (Intermediate Representation) library, which provides a more precise semantic representation of the program, whereas the other dataflow library uses the more syntax-oriented ASTs. This library should provide more accurate results than the AST-based library in most scenarios.

Classes

MustFlowConfiguration

A configuration of a data flow analysis that performs must-flow analysis. This is different from DataFlow.qll which performs may-flow analysis (i.e., it finds paths where the source may flow to the sink).

MustFlowPathNode

A Node that is in a path from a source to a sink.

Modules

PathGraph

Provides the query predicates needed to include a graph in a path-problem query.