Skip to content

Data flow: Improve join-order in pathStep predicate#2859

Closed
hvitved wants to merge 3 commits into
github:masterfrom
hvitved:dataflow/path-step-local-join
Closed

Data flow: Improve join-order in pathStep predicate#2859
hvitved wants to merge 3 commits into
github:masterfrom
hvitved:dataflow/path-step-local-join

Conversation

@hvitved

@hvitved hvitved commented Feb 17, 2020

Copy link
Copy Markdown
Contributor

See #2857.

@hvitved hvitved requested review from a team as code owners February 17, 2020 18:30
@jbj

jbj commented Feb 17, 2020

Copy link
Copy Markdown
Contributor
ERROR: Could not resolve variable c (/home/jenkins/workspace/Language-Tests/Java/job/ql/java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl.qll:2270,54-55)

That looks like a typo: c should be cc.

@hvitved

hvitved commented Feb 17, 2020

Copy link
Copy Markdown
Contributor Author

That looks like a typo: c should be cc.

Thanks.

@hvitved

hvitved commented Feb 18, 2020

Copy link
Copy Markdown
Contributor Author

Here are the profiling runs (all internal links):

Performance for Java is unchanged, there is a massive improvement for C++, and C# is still running (performance expected to be unchanged) also unchanged.

@aschackmull

Copy link
Copy Markdown
Contributor

Joining localFlowBigStep with getLocalCallContext creates a potential blowup - in ArithmeticTainted on jdk11 the blowup is more than a factor 10, but it doesn't show up as the cost ends up dominated by other predicates. It is, however, not the best join-order, so I've put up an alternative fix here: #2872

@hvitved hvitved closed this Feb 21, 2020
@hvitved hvitved deleted the dataflow/path-step-local-join branch February 21, 2020 08:39
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.

3 participants