MCPcopy Create free account
hub / github.com/CodeSentryAI/lockbud / Andersen

Class Andersen

src/analysis/pointsto/mod.rs:49–53  ·  view source on GitHub ↗

Field-sensitive intra-procedural Andersen pointer analysis. 1. collect constraints from MIR to build a `ConstraintGraph` 2. adopt a fixed-point algorithm to update `ConstraintGraph` and points-to info There are several changes: 1. Use a place to represent a memroy cell. 2. Create an Alloc node for each

Source from the content-addressed store, hash-verified

47/// 5. Interproc methods: Use parameters' type info to guide the analysis heuristically (simple but powerful).
48/// 6. Interproc closures: Track the upvars of closures in the functions defining the closures (restricted).
49pub struct Andersen<'a, 'tcx> {
50 body: &'a Body<'tcx>,
51 tcx: TyCtxt<'tcx>,
52 pts: PointsToMap<'tcx>,
53}
54
55pub type PointsToMap<'tcx> = FxHashMap<ConstraintNode<'tcx>, FxHashSet<ConstraintNode<'tcx>>>;
56

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected