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

Shadow memory initialization functions #7836

Merged
merged 4 commits into from
Aug 7, 2023

Commits on Aug 7, 2023

  1. Add util for cleaning pointer argument expr

    Clean the given pointer expression so that it has the right
    shape for being used for identifying shadow memory.
    This handles some quirks regarding array sizes containing
    L2 symbols and string constants not having char-pointer type.
    peterschrammel authored and Enrico Steffinlongo committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    eedd91b View commit details
    Browse the repository at this point in the history
  2. Functionality for initializing shadow memory

    Allocates shadows for a given original memory
    for each declared field. The shadows are registered
    in the shadow_memory_state (part of goto_symex_statet
    to consider scoping of local shadows).
    
    In the next step this functionality is used to
    allocate shadow memory for the original memory
    allocations encountered when symexing a
    goto model.
    peterschrammel authored and Enrico Steffinlongo committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    93b7d71 View commit details
    Browse the repository at this point in the history
  3. iwyu

    Enrico Steffinlongo committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    418f464 View commit details
    Browse the repository at this point in the history
  4. Add implementation to shadow memory init function

    This commit adds the implementation to the 4 shadow memory
    user-facing initialization functions.
    Namely:
     - shadow_memoryt::symex_field_static_init
     - shadow_memoryt::symex_field_static_init_string_constant
     - shadow_memoryt::symex_field_local_init
     - shadow_memoryt::symex_field_dynamic_init
    Enrico Steffinlongo committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    4f5df20 View commit details
    Browse the repository at this point in the history