Skip to main content

Module summary

Module summary 

Source
Expand description

Function summaries for compositional analysis.

A FunctionSummary is a compact, serializable description of a function’s pointer and memory behavior. Summaries serve as the universal exchange format between:

  • YAML specs (hand-written for external/library functions)
  • Analysis results (computed by PTA, value-flow, etc.)
  • Compositional analysis (bottom-up summary composition)

Access paths (AccessPath) describe memory locations relative to function parameters and globals, enabling field-sensitive and context-sensitive summaries without concrete ValueId bindings.

§Persistence

Summaries support JSON serialization to disk via FunctionSummary::save and FunctionSummary::load, stored at {cache_dir}/summaries/{function_id_hex}.json.

Structs§

AllocationEffect
Describes an allocation performed by a function.
FunctionSummary
A compact, serializable description of a function’s pointer and memory behavior.
MemoryEffect
Describes a memory side-effect of a function.
ReturnEffect
Describes the effect of a function on its return value.
SummaryComputedBound
A computed return bound: return interval depends on a parameter property.
SummaryTaintPropagation
Taint propagation rule within a function summary.

Enums§

AccessPath
Describes a memory access location relative to function parameters or globals.
AccessPathParseError
Errors that can occur when parsing an AccessPath from a string.
CalleeRef
Reference to a callee from within a function body.
SummaryBoundMode
How a return value is bounded by a parameter property.
SummaryNullness
Nullness classification for a pointer value.
SummaryPrecision
Precision guarantee of a function summary.
SummaryRole
High-level role of a function in the summary system.
SummarySource
How a function summary was produced.