In program analysis, a polyvariant or context-sensitive analysis (as opposed to a monovariant or context-insensitive analysis) analyzes each function multiple times—typically once at each call site—to improve the precision of the analysis.[1] Polyvariance is common in data-flow and pointer analyses.
Forms of polyvariance include:
The first two are more often used for dataflow analyses, the latter two are more frequently used for pointer analyses.