Skip to content

Conversation

criemen
Copy link
Collaborator

@criemen criemen commented May 6, 2020

This library proves that a subset of pointer dereferences in a progam are safe, i.e. in-bounds.

On its own, it is not very useful.
However, it
a) showcases how to use the IR-based RangeAnalysis and the experimental ArrayLengthAnalysis together
b) It can be a starting point to detect out-of-bounds-pointer accesses
c) The analysis can be used as a filter on imprecise (bug-finding) queries that detect potentially OOB memory accesses, to remove false positives.

criemen added 2 commits May 6, 2020 16:36
…m are safe, i.e. in-bounds.

It does so by first defining what a pointer dereference is (on the IR
`Instruction` level), and then using the array length analysis and the range
analysis together to prove that some of these pointer dereferences are safe.
@criemen criemen requested a review from a team as a code owner May 6, 2020 14:40
@jbj jbj added the C++ label May 7, 2020
Copy link
Contributor

@rdmarsh2 rdmarsh2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM now. Thanks!

@rdmarsh2 rdmarsh2 merged commit 396ccda into github:master May 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants