Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate PDGs created by Flowistry #119

Merged
merged 89 commits into from
Feb 21, 2024
Merged

Integrate PDGs created by Flowistry #119

merged 89 commits into from
Feb 21, 2024

Conversation

JustusAdam
Copy link
Collaborator

@JustusAdam JustusAdam commented Dec 7, 2023

What Changed?

  • Data and control flow graph construction moves into the Flowistry crate.
  • Removes df, inlining logic and the algebra.
  • Entails an update of the rustc toolchain (to achieve parity with flowistry).
  • Graph contains all program locations, not just function calls.
  • Control flow is non-transitive
  • The PDG now tracks individual places instead of abstract function arguments. This improves field sensitivity across function calls.
  • Forge output is gone

Why Does It Need To?

Field sensitivity is now handled as the initial analysis constructs the PDG and in fewer lines of code.

Closes #115
Closes #62

Caveats

At the time of this merge, the following regressions in the PDG have not been fixed yet

Checklist

  • Above description has been filled out so that upon quash merge we have a
    good record of what changed.
  • New functions, methods, types are documented. Old documentation is updated
    if necessary
  • Documentation in Notion has been updated
  • Tests for new behaviors are provided
    • New test suites (if any) ave been added to the CI tests (in
      .github/workflows/rust.yml) either as compiler test or integration test.
      Or justification for their omission from CI has been provided in this PR
      description.

@JustusAdam JustusAdam marked this pull request as ready for review February 20, 2024 22:05
@JustusAdam JustusAdam merged commit f5517e0 into main Feb 21, 2024
5 checks passed
@JustusAdam JustusAdam deleted the flowistry-pdg branch February 22, 2024 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant