Implement ebpf_check_constraints_at_label#729
Closed
Alan-Jowett wants to merge 2 commits into
Closed
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves: #728
This pull request exposes a new API "ebpf_check_constraints_at_label" which permits the caller to compare a set of constraints against the model at a specific label. If the model and the constraints differ it will return the two sets of constraints.
Enhancements and New Features:
src/asm_parse.hpp: Exposed existing function to parse linear constraints.src/asm_syntax.hpp: Extended thelabel_tstruct to support initialization from a string label.src/config.hpp: Added a new option to store pre-invariants in the verifier options.src/crab_verifier.cpp: Implemented functions to store pre-invariants and check constraints at specific labels. [1] [2] [3] [4]src/crab_verifier.hpp: Declared the new function for checking constraints at a label.Test Case Updates:
src/ebpf_yaml.cpp: Updated YAML parsing to include invariants to check and modified test case execution to validate these invariants. [1] [2] [3] [4] [5]src/ebpf_yaml.hpp: Added a new field to theTestCasestruct for invariants to check.test-data/add.yaml: Added a new test case to check concrete state invariants.Summary by CodeRabbit
Release Notes
New Features
label_t.store_pre_invariantsfor managing pre-invariant states during verification.Bug Fixes
Tests
Documentation