Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refine the abstract domain of values (#490)
Introduce a `Num p` abstract value that stands for any number (but no pointers), with provenance `p`. In non-strict mode, this makes the value analysis more precise than using `Ifptr p` for the same purpose, like we did before. Also: minor simplifications and cleanups in the management of provenance. In strict mode, instead of setting all provenances to `Pbot`, just propagate them but ignore them in `aptr_of_aval`. Simplify `vnormalize` and its proof consequently. Also: more precise definition of vlub, without a catch-all Vtop case.
- Loading branch information
8d5a9df
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.
I confirm that this fixes the issues we had where CompCert did not see that accesses to arrays outside of the current stackframe could not interfere with variables in the current stackframe. Thank you.