-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Control Flow: extend ordering #9905
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
Do I understand correctly that you've observed CFG nodes that have two or more successors with the exact same locations and the same |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Either way, the change looks fine, and I can see for all three languages it's only used by the CFG tests, so I don't think we need a change note.
I was seeing flakiness in these lines on a branch of mine codeql/swift/ql/test/library-tests/controlflow/graph/Cfg.expected Lines 1514 to 1535 in 2bc6c98
and
I'll research this a bit more maybe before merging this |
It looks like you have multiple nodes at line 141 (with the same start/end line/column) that all have |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
As the edge ordering was not enough to solve the flakiness I had, I added a further customizable string key. In #9891 I use it with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
In Swift we encountered a situation where ordering of nodes and edges in the control flow graph was not stable between test runs.
This patch:
getOrderDisambiguation
method to both node and edge orderingsThis is used in #9891
This is currently only used in tests.