-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Diff-informed queries: phase 3 (non-trivial locations) #19957
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
Conversation
ff3a4b9 to
95fe462
Compare
aff62c2 to
6d0ae3a
Compare
c871f5e to
276c7f0
Compare
cb2db2f to
c70036d
Compare
java/ql/lib/semmle/code/java/security/TempDirLocalInformationDisclosureQuery.qll
Fixed
Show fixed
Hide fixed
c70036d to
08c4cc2
Compare
857b583 to
3e3e856
Compare
|
DCA results: some slowdowns on Python, but they don't seem to be related to these changes. Java had some timeout-related failures, so I'll restart that. Overall, no negative performance impact on empty-diff. |
443655d to
5112a9c
Compare
5112a9c to
085720a
Compare
|
This is a very large diff for a single PR. Would it be a lot of extra work to split this into one PR per language? Then it will also be possible to merge a bit at the time (there might be issues with getting DCA running successfully for this many languages and it will be a shame to block merging changes while waiting for DCA/review for other languages). |
|
Sure, I can split it off into separate PRs per language. |
Thank you - that will be really appreciated. You also structured the commits very nicely, so it seems doable 😄 |
This PR enables diff-informed mode on queries that select a location other than dataflow source or sink. This entails adding a non-trivial location override that returns the locations that are actually selected.
Prior work includes PRs like #19663, #19759, and #19817. This PR uses the same patch script as those PRs to find candidate queries to convert to diff-enabled. This is the final step in mass-enabling diff-informed queries on all the languages.
Commit-by-commit reviewing is recommended.
Potentially tricky cases:
--check-diff-informedlocally and in CI. Should create a follow-up issue.where, or if it's good enough to overapproximate and just pass the--check-diff-informedtests.