Skip to content

Memory Encoding#600

Open
mira-alford wants to merge 41 commits intoUQ-PAC:mainfrom
mira-alford:main
Open

Memory Encoding#600
mira-alford wants to merge 41 commits intoUQ-PAC:mainfrom
mira-alford:main

Conversation

@mira-alford
Copy link

Introduces the WIP memory encoding feature flag (--memory-encoding) which generates pre and post conditions for:
malloc, strlen, memset, memcpy, free and additional assertions for store/load to check for memory safety issues and better reason about allocations.

Also fixes some bugs I ran into getting this working:

  • quantifiers now take a nested list of lists of triggers instead of a list of triggers (maps correctly onto boogie triggers)
  • CIL visitor was erasing quantifier triggers
  • Hashes between BMapVar (needed for boogie IR) and Basil IR Variables differed, creating duplicate globals in IRToBoogie. Added an extra distinctness check based on variable name in addition to hash.

@mira-alford mira-alford requested a review from ailrst February 11, 2026 04:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant