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

Python: Call graph, meta queries comparing with old call-graph #38

Draft
wants to merge 4 commits into
base: call-graph-code
Choose a base branch
from

Conversation

RasmusWL
Copy link
Owner

While working on the call-graph, I developed queries for comparing against the old dataflow implementation.

This should never be merged, so keeping it as a PR on my own fork.

@RasmusWL RasmusWL changed the title Python: Call graph, meta queries comparing with old dataflow copy Python: Call graph, meta queries comparing with old call-graph Nov 11, 2022
@RasmusWL RasmusWL force-pushed the call-graph-code branch 2 times, most recently from b56c392 to 64c8f91 Compare November 15, 2022 19:40
@RasmusWL RasmusWL force-pushed the call-graph-pointsto-compare branch from 512eb81 to c15732f Compare November 15, 2022 19:42
@RasmusWL RasmusWL force-pushed the call-graph-code branch 2 times, most recently from bb104fc to 00ec3a2 Compare November 22, 2022 13:46
@RasmusWL RasmusWL force-pushed the call-graph-pointsto-compare branch from c15732f to a78ffc1 Compare November 22, 2022 14:45
@RasmusWL RasmusWL force-pushed the call-graph-pointsto-compare branch from a78ffc1 to 3e3416e Compare January 25, 2023 16:38
@RasmusWL RasmusWL force-pushed the call-graph-pointsto-compare branch from 3e3416e to 245155f Compare February 13, 2023 09:03
Since meta queries run with DCA only reports difference in alert
locations if we want a good comparison between `(call, target)` tuples
and `(argument, flow-to-parameter)` tuples, we will need to have working
copies for both the old points-to based call graph/argument passing, and
the new type tracking based ones.

Otherwise we will end up in a situation where call is resolved to target
A with points-to, and target B with call-graph, but since it is the same
call, DCA will report no difference :|

These files should never be merged, but should only exist temporarily
while working on the type-tracking based call-graph.

I removed copy 2-4 of data-flow/taint-tracking, just to limit duplicate
search results.
Also removed referenced to the cached stages... they're not really
needed in the copy any longer.

(while doing rebase on top of flow summaries, I ended up doing a LOT more changes than before... which I found curious)
and overall overview queries.

Relies on points-to dataflow copy
@RasmusWL RasmusWL force-pushed the call-graph-pointsto-compare branch from 245155f to f02896d Compare February 15, 2023 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant