-
Notifications
You must be signed in to change notification settings - Fork 274
Goto checker interface enhancements [blocks: 3794] #3860
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
Goto checker interface enhancements [blocks: 3794] #3860
Conversation
ad3e568
to
4796e85
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✔️
Passed Diffblue compatibility checks (cbmc commit: 4796e85).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/97958807
|
||
// Outputs a proof in GraphML format (see `graphml_witnesst`) | ||
virtual void output_proof() = 0; | ||
virtual const namespacet &get_namespace() const = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change does not seem to relate to the commit message?
virtual void output_error_witness(const goto_tracet &) = 0; | ||
|
||
// Outputs a proof in GraphML format (see `graphml_witnesst`) | ||
virtual void output_proof() = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing virtual destructor.
virtual goto_tracet build_trace() const = 0; | ||
|
||
/// Returns the namespace associated with the traces | ||
virtual const namespacet &get_namespace() const = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing virtual destructor
DONE | ||
}; | ||
|
||
progresst progress; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might use progresst progress = DONE;
and ...
/// `incremental_goto_checkert::operator()` | ||
std::vector<irep_idt> updated_properties; | ||
|
||
resultt(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... resultt() = default;
Not all incremental_goto_checkert implementations can provide witnesses.
Not all incremental goto checker implementations may support traces.
The goto verifier might want to know which properties have been updated in the last call to the incremental goto checker, e.g. to output status information or report results continuously.
4796e85
to
be514e3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✔️
Passed Diffblue compatibility checks (cbmc commit: be514e3).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/97968610
Make witness output optional
Make returning traces optional
Return IDs of updated properties
Each commit message has a non-empty body, explaining why the change was made.
Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
The feature or user visible behaviour I have added or modified has been documented in the User Guide in doc/cprover-manual/
Regression or unit tests are included, or existing tests cover the modified code (in this case I have detailed which ones those are in the commit message).
My commit message includes data points confirming performance improvements (if claimed).
My PR is restricted to a single feature or bugfix.
White-space or formatting changes outside the feature-related changed lines are in commits of their own.