Reach.Frontend.BEAM (Reach v2.8.4)

Copy Markdown View Source

BEAM bytecode frontend for analyzing compiled .beam files.

The :functions option selects target {name, arity} pairs and their reachable local functions. :max_functions caps the total selection. For batched analysis, :max_functions_per_target instead caps each target's traversal independently and returns the union, so targets do not consume one another's budget.

Summary

Functions

from_bytecode(bytecode, opts \\ [])

@spec from_bytecode(
  binary(),
  keyword()
) :: {:ok, [Reach.IR.Node.t()]} | {:error, term()}

from_compiled_modules(compiled, opts \\ [])

@spec from_compiled_modules(
  [{module(), binary()}],
  keyword()
) :: {:ok, [Reach.IR.Node.t()]}

from_compiled_string(source, opts \\ [])

@spec from_compiled_string(
  String.t(),
  keyword()
) :: {:ok, [Reach.IR.Node.t()]} | {:error, term()}

from_module(module, opts \\ [])

@spec from_module(
  module(),
  keyword()
) :: {:ok, [Reach.IR.Node.t()]} | {:error, term()}