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.TypeTrackingImpl
Imports
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 |