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

More flexible moreJoins #823

Merged
merged 4 commits into from
Mar 23, 2024
Merged

More flexible moreJoins #823

merged 4 commits into from
Mar 23, 2024

Conversation

marcoeilers
Copy link
Contributor

@marcoeilers marcoeilers commented Mar 22, 2024

Changes --moreJoins from a boolean option that is either completely off or joins everything to an integer option that has two steps:

  • 1 joins all branches resulting from impure conditionals immediately (this is very similar to --conditionalizePermissions but doesn't have to be conservative and can thus join all such branches)
  • 2 joins all impure branches immediately and joins branches in the CFG when possible
  • 0 is off.

Similarly, the @moreJoins annotation can be used in the following ways:

  • @moreJoins() selects level 2
  • @moreJoins("n") selects level n
  • everything else is invalid and results in a warning.

@marcoeilers marcoeilers requested a review from jcp19 March 23, 2024 13:22
src/main/scala/Config.scala Show resolved Hide resolved
@marcoeilers marcoeilers merged commit 9e3d0f8 into master Mar 23, 2024
4 checks passed
@marcoeilers marcoeilers deleted the meilers_flexible_more_joins branch March 23, 2024 18:46
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.

2 participants