cuplv / iodyn.rust

Collections Library for Adapton, in Rust
13 stars 0 forks source link

Benchmark app: Andersen's algorithm for points-to analysis #21

Open matthewhammer opened 7 years ago

matthewhammer commented 7 years ago

Implement Andersen's algorithm for points-to analysis.

This implementation has several phases/versions (perhaps abstracted by traits for different implementation/representation choices):

  1. A reference version, implemented the way a competent Rust programmer would implement the analysis, with collections from the standard Rust library, and while/for loops for iteration.

  2. An Adapton version, implemented against traits that abstract over IODyn collections for maps and sets. Some of the finite map representations will come from PRs for https://github.com/cuplv/iodyn.rust/issues/20, of which one is ready now.

Phase 1: Reference implementation, with initial run times

Phase 2: Adapton version, with initial run times

Phase 3: Incremental changes, with update times

Phase 4: Real datasets; find "statement lists" from real programs

TODO

jpw234 commented 7 years ago

Status update: reference implementation runs on randomly generated data of variable sizes. Working on plotscript output and blacklist implementation.