Skip to content

Make tests pass with single-path symbolic execution [depends-on: #3969, blocks: #3976] #3960

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

Closed
wants to merge 1 commit into from

Conversation

tautschnig
Copy link
Collaborator

Each run of symbolic execution reports the number of properties that failed in
this run
, and it isn't always possible to violate multiple properties along a
single path. All paths together, however, show the same property violations as
path-merging symbolic execution.

  • Each commit message has a non-empty body, explaining why the change was made.
  • n/a Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • n/a 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/a My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • n/a White-space or formatting changes outside the feature-related changed lines are in commits of their own.

Each run of symbolic execution reports the number of properties that failed *in
this run*, and it isn't always possible to violate multiple properties along a
single path. All paths together, however, show the same property violations as
path-merging symbolic execution.
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: 44f92ad).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/98718450

@kroening
Copy link
Member

Path-based should still be able to count the number of failed properties?
symex doesn't need these tweaks to the tests.

@tautschnig
Copy link
Collaborator Author

The question is when the output ** x of y failed (n iterations) should be printed. Maybe we should just print a summary at the end as well, just like VERIFICATION (FAILED|SUCCESSFUL) is also printed for the overall result?

@tautschnig tautschnig added the RFC Request for comment label Jan 27, 2019
@tautschnig tautschnig changed the title Make tests pass with single-path symbolic execution Make tests pass with single-path symbolic execution [blocks: #3976] Jan 28, 2019
@peterschrammel
Copy link
Member

With #3969 the output will be the same as with multi-path symex, i.e. only the final collated results are reported.

@peterschrammel peterschrammel removed their assignment Jan 28, 2019
@tautschnig
Copy link
Collaborator Author

Thanks @peterschrammel. I'll mark this one "depends-on: #3969" and will then close it as soon as that's merged.

@tautschnig tautschnig changed the title Make tests pass with single-path symbolic execution [blocks: #3976] Make tests pass with single-path symbolic execution [depends-on: #3969, blocks: #3976] Jan 30, 2019
@tautschnig tautschnig added dependent - do not merge and removed RFC Request for comment labels Jan 30, 2019
@tautschnig
Copy link
Collaborator Author

Closing, just marked #3976 as depending on #3969.

@tautschnig tautschnig closed this Feb 1, 2019
@tautschnig tautschnig deleted the fix-3956-desc branch February 1, 2019 13:15
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.

4 participants