Skip to content


MemoryRegionProgramAttributesAnalyzer (Analyzer)

Analyze a MemoryRegion to extract its ProgramAttributes.

analyze(self, resource, config=None) async

Analyze a resource for to extract specific ResourceAttributes.

Users should not call this method directly; rather, they should run or Resource.analyze.


Name Type Description Default
resource Resource

The resource that is being analyzed

config Optional[ofrak.model.component_model.ComponentConfig]

Optional config for analyzing. If an implementation provides a default, this default will always be used when config would otherwise be None. Note that a copy of the default config will be passed, so the default config values cannot be modified persistently by a component run.



Type Description

The analysis results

Source code in ofrak/core/
async def analyze(
    self, resource: Resource, config: Optional[ComponentConfig] = None
) -> Tuple[ProgramAttributes]:
    program_r = await resource.get_only_ancestor(ResourceFilter.with_tags(Program))
    program_attrs = await program_r.analyze(ProgramAttributes)
    return (program_attrs,)