-
Notifications
You must be signed in to change notification settings - Fork 76
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
Remove custom octagon analysis, make Apron Analysis answer MustBeEqual, MayBeEqual, and MayBeLess queries #500
Conversation
We have a working binding to Apron that offers octagons among some other relational domains. The octagon implementation that is removed here was not designed with handling different ikinds correctly, instead it used an int domain with some default ikind.
… not used by partitioned arrays (j is the partitioning expression)
The test There were two other tests for the octagon analysis together with partitioned arrays ( |
Interestingly, the assert in line 56 fails, while the asserts in lines 54, 55 succeed, and the partitioned array knows that it is partitioned by analyzer/tests/regression/22-partitioned_arrays/10-array_octagon.c Lines 49 to 56 in c88666e
|
I would suggest to annotate the tests in question with |
I think the octagon analysis answers queries like |
Some things are now less precise, some are more precise.
@sim642 I extended the apron analysis to also answer the |
Maybe @michael-schwarz knows what aspects the octagon analysis had that the apron analysis doesn't that it's not precise enough for that. Did the octagon analysis have something very specific for the partitioned arrays or maybe it was just more precise because it was unsound? |
No, it did not have anything very specific. I think it completely ignored overflows, so maybe that is why? |
eval_int should directly provide sound values, no need to transform some may to must queries
The tests/regression/36-apron folder is tested by a separate CI job, so we can add the SKIP here.
…tioned array tests
The folder 36-apron would otherwise have 100 testcases, causing problems with the script that claims there would be a duplicate tests case 36/10
As we have working Apron bindings, the custom implemented octagon analysis is now superfluous. Also, the OctagonAnalysis did not take different
ikind
s of integers into account, and was coupled with some parts ofIntDomain
, making changes there more costly to do.Part of #460.