You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: