mate.poi.analysis.OverflowableAllocations module

class mate.poi.analysis.OverflowableAllocations.OverflowableAllocations

Bases: mate.poi.poi_types.Analysis

run(session: Session, graph: CPG, _inputs: Dict[str, Any]) Iterable[POIGraphsPair]
Parameters
  • session (Session) –

  • graph (CPG) –

  • _inputs (Dict[str, Any]) –

Return type

Iterable[POIGraphsPair]

class mate.poi.analysis.OverflowableAllocations.OverflowableAllocationsPOI(*, insight: str, source: str = None, sink: str = None, salient_functions: List[mate_common.models.analyses.SalientFunction] = [])

Bases: mate_common.models.analyses.POI

Parameters
Return type

None

insight: str

A human-readable piece of “insight” for the POI, in Markdown format.

salient_functions: List[SalientFunction]

A list of SalientFunction models.

Each POI analysis determines which, if any, functions to include in this list.

sink: Optional[str]

A human readable location string for the “sink” of the POI.

source: Optional[str]

A human readable location string for the “source” of the POI.

mate.poi.analysis.OverflowableAllocations.compute_overflowable_allocations(session: Session, cpg: db.Graph) Iterable[Tuple[Instruction, Instruction, List[Tuple[str, str]]]]
Parameters
Return type

Iterable[Tuple[Instruction, Instruction, List[Tuple[str, str]]]]