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

dl: Offset-based memory model #112

Open
langston-barrett opened this issue Oct 28, 2022 · 0 comments
Open

dl: Offset-based memory model #112

langston-barrett opened this issue Oct 28, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@langston-barrett
Copy link
Collaborator

The memory model (AKA heap abstraction) used by cclyzer++ relies on LLVM type information to create suballocations. This is inefficient - it can create too many suballocations, e.g., when creating array suballocations for indices that are never accessed. It is also unsound - it can create too few suballocations, e.g. in the examples in the documentation on unsoundness.

To solve these issues, we should migrate to a byte-offset based model of suballocations rather than a type-based one. These suballocations should be created on-demand as they are accessed by GEP instructions.

This is a research-level question, which will need a lot more design and discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant