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

Update the induction in pointerescapes to work over an extensible product domain #131

Open
kalexmills opened this issue Jan 9, 2021 · 0 comments
Labels
enhancement New feature or request vet-bot the issue is part of VetBot's responsibility
Milestone

Comments

@kalexmills
Copy link
Contributor

kalexmills commented Jan 9, 2021

Currently pointerescapes tracks a single boolean value across the callgraph. It marks each pointer argument it finds as 'escapes' or not.

There are several other properties of these pointers we want to track to handle other bad pointer usage like pointer comparisons. To be able to do so without a lot of duplication, we need to extend the boolean value being tracked to an n-tuple of boolean values. The API design should be extensible enough to allow us to add extra flags to track as needed.

Once this is in place, we can tie that n-tuple into analyzers that are focused on the function declarations only, and trust the callgraph analyzer to perform whatever induction is needed for us.

Once this is done, pointerescapes will be a misnomer, so maybe it should be refactored into an induction analyzer under the callgraph package.

@kalexmills kalexmills added enhancement New feature or request vet-bot the issue is part of VetBot's responsibility labels Jan 9, 2021
@kalexmills kalexmills changed the title Update pointerescapes to work over a product domain Update the induction in pointerescapes to work over an extensible product domain Jan 9, 2021
@kalexmills kalexmills added this to the Beta milestone Jan 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request vet-bot the issue is part of VetBot's responsibility
Projects
None yet
Development

No branches or pull requests

1 participant