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

[Improvement] Dynamic memory allocation during model checking #14

Open
axel-habermaier opened this issue Nov 24, 2016 · 0 comments
Open

Comments

@axel-habermaier
Copy link
Contributor

The S# model checker currently preallocates all memory buffers that is uses during model checking. While this allows for an efficient implementation, it has two main drawbacks:

  1. The allocations are often huge, making them slow for fast analyses (e.g., small models or formula violations that are quickly found).
  2. The user has to change configuration settings such as state counts, etc., especially for models with large state vectors that easily result in out-of-memory situations.

The model checker should alternatively support dynamic memory allocations, growing its buffers as needed. Naturally, memory should still be allocated in large chunks to avoid any significant performance decreases. In particular, state hashing could become more complicated, as all discovered states might have to be rehashed when the state buffer is grown. Depending on the performance impact of state rehashing, other allocation strategies should be explored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant