Alias Analysis
This section covers the various alias analysis algorithms implemented in Lotus.
Start with Alias Analysis Components for a high-level selection guide. Algorithm pages describe the assumptions and entry points of individual analyses, while the infrastructure pages cover common points-to-set representations, external library specifications, and evaluation metrics. Results depend on the LLVM module and the model of external calls, so use the specification and metrics pages alongside an algorithm page when comparing analyses.
- Alias Analysis Components
- AllocAA — Allocation-Based AA
- Sparrow Pointer Analysis — Inclusion AA
- AserPTA — Pointer Analysis
- CclyzerAA
- DDA
- DFPA
- DyckAA — Dyck-CFL Analysis
- Sea-DSA — Memory Graph AA
- FPA — Function Pointer Analyses (FLTA/MLTA/MLTADF/KELP)
- Flow-Sensitive Pointer Analysis
- LotusAA — Lotus AA Engine
- UnderApproxAA — Must-Alias Analysis
- DynAA — Dynamic Alias AA
- Strict Relations Alias Analysis — Algorithm
- 1. vSSA / SSI Transformation
- 2. Symbolic Range Analysis
- 3. Strict-Inequality Construction
- 4. Constraint Propagation Solver
- 5. Alias Disambiguation (Final Decision)
- 6. PDG Memory-Node Reduction (Applicability)
- Summary of Properties
- End of document.
- Pointer Analysis Metrics
- Points-To Set Backends
- Alias Specification Manager
- TPA: Flow- and Contex-Sensitive Pointer Analysis
- TypeQualifier