You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## 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.
## Caveats
At the time of this merge, the following regressions in the PDG have not
been fixed yet
- willcrichton/flowistry#95
- willcrichton/flowistry#94
- willcrichton/flowistry#93
- And while Will fixed the strong updates
willcrichton/flowistry#90 the second issue
mentioned there is still present.
## Checklist
- [x] Above description has been filled out so that upon quash merge we
have a
good record of what changed.
- [x] 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.
Here is the code I tried
I would have expected this to create a PDG
return@create -> arg[0]@id -> return@id -> return@main
but instead it creates thisThe input of
id
is for some reason not connected to anything, but its parent is connected to its return? This is very strange.The text was updated successfully, but these errors were encountered: