Skip to content

C++: Use-use flow in experimental #10366

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

Merged
merged 6 commits into from
Sep 13, 2022

Conversation

MathiasVP
Copy link
Contributor

@MathiasVP MathiasVP commented Sep 9, 2022

Due to the performance regressions on #10190 we've decided to put the new use-use dataflow code in the experimental directory so that we can use it while we're working on experimental buffer-overflow queries.

The first commit just copies over all the already-reviewed code from #10190 (along with a couple of copies of the dataflow library). So it doesn't really require any deep reviewing (since it's already received a lot of awesome 👀s!).

The last two commits are required changes to non-experimental code that should hopefully be semantically equivalent from the point of view of the existing non-experimental dataflow library.

as tainted (instead of the pointee), or vice versa. Because of
existing dataflow pointer/pointee conflation we never noticed that,
but since this PR removes those imprecisions we now need to update
these models.
@github-actions github-actions bot added the C++ label Sep 9, 2022
@MathiasVP MathiasVP added the no-change-note-required This PR does not need a change note label Sep 9, 2022
Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found 21 potential problems in the proposed changes. Check the Files changed tab for more details.

@MathiasVP MathiasVP force-pushed the use-use-flow-in-experimental branch from 1d8d042 to 6dcfe03 Compare September 9, 2022 16:27
Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found 22 potential problems in the proposed changes. Check the Files changed tab for more details.

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found 22 potential problems in the proposed changes. Check the Files changed tab for more details.

@MathiasVP MathiasVP marked this pull request as ready for review September 12, 2022 10:05
@MathiasVP MathiasVP requested a review from a team as a code owner September 12, 2022 10:05
Copy link
Contributor

@geoffw0 geoffw0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(reviewing just the changes to models)

Some of these deserve a bit of discussion, though I understand they're motivated by test regressions so its very likely you're right or at least partly right in each case.

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found 22 potential problems in the proposed changes. Check the Files changed tab for more details.

Copy link
Contributor

@geoffw0 geoffw0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy with the changes to models / everything outside of experimental now. I haven't reviewed the changes within experimental in any detail, but I understand it to be a modified version of the dataflow library that's been reviewed elsewhere, and will be under examination in experimental. I can't see anything scary in the DCA run.

👍

@MathiasVP
Copy link
Contributor Author

I'm happy with the changes to models / everything outside of experimental now. I haven't reviewed the changes within experimental in any detail, but I understand it to be a modified version of the dataflow library that's been reviewed elsewhere, and will be under examination in experimental. I can't see anything scary in the DCA run.

Thanks a lot! Yeah, all of the code in experimental has already been thoroughly reviewed in the initial PR. So this should be pretty safe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++ no-change-note-required This PR does not need a change note
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants