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

DefExc,Enums: More precise of_interval and starting and ending #1413

Merged
merged 12 commits into from
Apr 17, 2024

Conversation

michael-schwarz
Copy link
Member

Closes #1159

@sim642 sim642 self-requested a review April 15, 2024 08:07
tests/regression/01-cpa/75-refine-def-exc.c Outdated Show resolved Hide resolved
src/cdomain/value/cdomains/intDomain.ml Outdated Show resolved Hide resolved
src/cdomain/value/cdomains/intDomain.ml Outdated Show resolved Hide resolved
@sim642 sim642 added this to the v2.4.0 milestone Apr 16, 2024
@michael-schwarz michael-schwarz merged commit 50f5304 into master Apr 17, 2024
21 checks passed
@michael-schwarz michael-schwarz deleted the issue_1159 branch April 17, 2024 08:50
@michael-schwarz
Copy link
Member Author

Interestingly enough, this causes a regression where the increased precision leads to a lower number of contexts, which in turn causes us to lose 5 tasks on termination.

@sim642
Copy link
Member

sim642 commented Apr 22, 2024

This is quite counter-intuitive: how do fewer contexts lead to us failing to prove termination?

@michael-schwarz
Copy link
Member Author

Because the Context-sensitive callgraph becomes recursive: Earlier the partial(!) contexts happened to distinguish things by (happy) coincidence. This is no longer the case now.

@sim642
Copy link
Member

sim642 commented Apr 22, 2024

In that case something from #1340 should be able to distinguish the sufficient number of non-recursive cases in a less roundabout way.

@michael-schwarz
Copy link
Member Author

Yes, either something from there or one of the ideas from #1422.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

DefExc.of_interval ignores interval
2 participants