Module TypeTracking
Given a set of step relations, this module provides classes and predicates for simple data-flow reachability suitable for tracking types.
The constructed module contains both public and internal logic; the public
interface is exposed via codeql.typetracking.TypeTracking.
Import path
import codeql.typetracking.internal.TypeTrackingImplImports
Predicates
| flowsTo | Holds if there is flow from |
| noContentTypeTracker | |
| smallStep | |
| step |
Classes
| StepSummary | A description of a step on an inter-procedural data flow path. |
| TypeBackTracker | A summary of the steps needed to back-track a use of a value to a given dataflow node. |
| TypeTracker | A summary of the steps needed to track a value to a given dataflow node. |
Modules
| CallGraphConstruction | Provides logic for constructing a call graph in mutual recursion with type tracking. |
| ConsistencyChecks | Provides consistency checks for the type-tracker step relations. |
| TypeBackTracker | Provides predicates for implementing custom |
| TypeTrack | Given a source definition, constructs the default forward type tracking from those sources. |
| TypeTracker | Provides predicates for implementing custom |