Skip to content

All-properties verifier [depends: 3584, blocks: 3794] #3585

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

Merged
merged 10 commits into from
Jan 14, 2019

Conversation

peterschrammel
Copy link
Member

@peterschrammel peterschrammel commented Dec 16, 2018

This is going to replace all_properties (can be instantiated with any incremental_goto_checkert: multi-path and single-path will come next).

Based on #3584, only review last 3 commits.

  • 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).
  • [n/1] 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.

@peterschrammel peterschrammel changed the title All-properties verifier [depends: 3585] All-properties verifier [depends: 3584] Dec 16, 2018
@peterschrammel peterschrammel force-pushed the all-properties-verifier branch from 2c3ed7f to 3d5e246 Compare December 17, 2018 10:40
// then overall it's still a PASS.
if(
result == property_resultt::NOT_REACHED ||
result == property_resultt::NOT_REACHABLE)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we do distinguish NOT_REACHED from NOT_REACHABLE, shouldn't the former yield UNKNOWN?

const optionst &options,
ui_message_handlert &ui_message_handler,
abstract_goto_modelt &goto_model)
: goto_verifiert(options, ui_message_handler),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this actually used in any way?

To count how many properties have a certain status.
This will be used in property reporting.
Plain text, XML and JSON output for property results.
Prints the property report in plain text, JSON or XML.
@peterschrammel peterschrammel force-pushed the all-properties-verifier branch 2 times, most recently from 615786a to 1f2b8c5 Compare January 13, 2019 17:11
@peterschrammel peterschrammel changed the title All-properties verifier [depends: 3584] All-properties verifier [depends: 3584, blocks: 3794] Jan 13, 2019
@peterschrammel peterschrammel force-pushed the all-properties-verifier branch from 1f2b8c5 to 407b527 Compare January 13, 2019 20:26
goto_model(goto_model),
incremental_goto_checker(options, ui_message_handler, goto_model)
{
properties = std::move(initialize_properties(goto_model));
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you don't need std::move with an unnamed temporary, but I could be wrong.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this should work without move; there is only a single allocation site in the callee.

Copy link
Contributor

@allredj allredj left a 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: 407b527).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/97175651

@peterschrammel peterschrammel force-pushed the all-properties-verifier branch from 407b527 to 7ea25b5 Compare January 13, 2019 22:35
Copy link
Contributor

@allredj allredj left a 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: 7ea25b5).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/97180336

Enable consistent result-dependent exit codes across all
driver programs.
Enable consistent overall status reporting
across all driver programs.
Used to update the properties map and
to compute the overall result.
This will replace bmc_all_propertiest.
@peterschrammel peterschrammel force-pushed the all-properties-verifier branch from 7ea25b5 to c61ca64 Compare January 14, 2019 00:44
Copy link
Contributor

@allredj allredj left a 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: c61ca64).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/97183649

@tautschnig tautschnig merged commit 73ebbb4 into diffblue:develop Jan 14, 2019
@peterschrammel peterschrammel deleted the all-properties-verifier branch January 14, 2019 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants