Skip to content
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

Added Linked_list_tests #23

Open
wants to merge 40 commits into
base: master
Choose a base branch
from
Open

Conversation

emmyni
Copy link
Contributor

@emmyni emmyni commented Oct 7, 2020

  • linked_list_front
  • linked_list_begin
  • linked_list_end
  • linked_list_pop_front
  • inked_list_init
  • linked_list_reset
  • linked_list_next

@agurfinkel
Copy link
Collaborator

If I am not mistaken these are based directly on cbmc style pfs.

While this is good as exercise, it is not the direction we decided to go with the pfs.

Maybe we can move them into some other directory to keep for comparison sake.

What are verification times for these?

@emmyni
Copy link
Contributor Author

emmyni commented Oct 7, 2020

What is the difference between cbmc style and pfs and the other pfs?
For moving to a different directory, is there already a specific directory or should I make one?

Also is the verification time in the brunch stats?
************** BRUNCH STATS *****************
BRUNCH_STAT Result TRUE
BRUNCH_STAT bmc.circ_sz 72
BRUNCH_STAT bmc.dag_sz 398
BRUNCH_STAT BMC 0.02
BRUNCH_STAT BMC.solve 0.01
BRUNCH_STAT opsem.assert 0.00
BRUNCH_STAT opsem.simplify 0.00
BRUNCH_STAT seahorn_total 0.02
************** BRUNCH STATS END *****************

@danblitzhou
Copy link
Collaborator

What is the difference between cbmc style and pfs and the other pfs?
For moving to a different directory, is there already a specific directory or should I make one?

Also is the verification time in the brunch stats?
************** BRUNCH STATS *****************
BRUNCH_STAT Result TRUE
BRUNCH_STAT bmc.circ_sz 72
BRUNCH_STAT bmc.dag_sz 398
BRUNCH_STAT BMC 0.02
BRUNCH_STAT BMC.solve 0.01
BRUNCH_STAT opsem.assert 0.00
BRUNCH_STAT opsem.simplify 0.00
BRUNCH_STAT seahorn_total 0.02
************** BRUNCH STATS END *****************

  1. From my understanding, CBMC style proofs create concrete linked list data structure of limited length and use bounded loop unrolling to reason correctness of functions on the linked list; the direction of proofs we are heading is more towards unbounded model checking if possbile, see refactor(jobs): common initialization code is refactored into helper … #20 by Siddarth for our modeling of linked list;
  2. Create a directory in verify-c-common/seahorn; this is for separating test/experiment cases from main jobs
  3. A quick way to see verification time is ctest -j32 -R linked_list, this should run all linked_list jobs and show you result and time

@emmyni emmyni force-pushed the linked_list_tests branch from dfccf75 to 45e451a Compare October 7, 2020 19:34
@emmyni emmyni force-pushed the linked_list_tests branch from 45e451a to ea9eac3 Compare October 7, 2020 19:43
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.

3 participants