Alias Analysis Components

Lotus provides several alias analysis algorithms with different precision/performance trade-offs. Each analysis makes different trade-offs between precision, scalability, and analysis cost.

Reusable support modules are documented separately:

Analysis Selection Guide

Choose the right analysis for your needs:

For Large Codebases (Speed Priority):

  • SparrowAA (CI mode): Fastest, context-insensitive, inclusion-based

  • AserPTA (CI mode): Fast with field sensitivity option

  • AllocAA: Lightweight heuristic-based tracking

  • FPA (KELP): Specialized for function pointer resolution

  • SRAA: Range-based for proving non-aliasing

  • DyckAA: Unification-based with Dyck-CFL reachability

For Maximum Precision:

  • LotusAA: Flow-sensitive and field-sensitive

  • Sea-DSA: Unification-based, context-sensitive with heap cloning

  • SparrowAA (1-CFA, 2-CFA): Context-sensitive, inclusion-based

  • AserPTA (1-CFA, 2-CFA, Origin): Context-sensitive, inclusion-based

Available Analyses

For detailed information about each analysis, see the corresponding documentation: