Analyzes cross-process data dependencies by tracing effects through GenServer call/cast boundaries.
Summary
Functions
Builds a per-module effect summary: which ETS tables, pdict keys, and other processes each module touches.
Finds cross-process coupling: when module A calls GenServer.call(B, ...) and module B touches ETS tables or pdict keys that module A also uses.
Types
Functions
@spec build_effect_summaries( [Reach.IR.Node.t()], keyword() ) :: %{required(module()) => effect_summary()}
Builds a per-module effect summary: which ETS tables, pdict keys, and other processes each module touches.
@spec find_cross_process_coupling( [Reach.IR.Node.t()], keyword() ) :: [map()]
Finds cross-process coupling: when module A calls GenServer.call(B, ...) and module B touches ETS tables or pdict keys that module A also uses.