-
Notifications
You must be signed in to change notification settings - Fork 20
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
Add Sequences as a new Suslik data type #42
base: master
Are you sure you want to change the base?
Add Sequences as a new Suslik data type #42
Conversation
I didn't manage to get it past the parser phase:
resulted in
Please, supply the tests for features that work and mark those that don't as separate test files. |
17b5f2d
to
71ddb71
Compare
Whoops ! Sorry about that. Seems like some of the earlier test cases weren't updated after a minor syntax change. All the test cases under sequences should now either be marked or work. |
Thanks! Which are the tests (i.e., ScalaTest implementations) covering the examples from the |
Do you mean a file under |
Also, in addition to making a Test file for all the sequence benchmarks, can you please put all the changes you made to BranchAbduction etc under a flag, so that we can still run other benchmarks like before? Thanks! |
* ported common.def to use sequences, sll-singleton works * ported dupleton, added README to clarify where these tests come from * sll-free works without modification * updated README * sll-copy works * sll-append works * update README and tests that are currently failing
* Binary sequence remove (--) operations that removes the first occurance of a particular item. * Unary length (slen) operation to get the length of a sequence. * Binary indexing (@) operation to get a one element sequence at a particular index. * Binary indexOf (!!) operation to find the index of the first occurence of an item from a seqquence.
* Branch Abduction - use the Integer Constant 0 as a candidate for branch conditions. * Write - prevent writing sequence literals into program variables. Currently only Ghost Variables are filtered but not literals. * SubstExist - prevent substituting variables assigned to expressions with sequence operations from being substituted in the post-condition. We prefer that these variables are given values using Unification or the Pick Exist rule. * PickExist - consider the Integer Constant -1 and also the expressions <var> + 1 and <var> - 1 as candidates when instantiating existentials as these are common constants for "inductive" properties.
* src/test/resources/synthesis/sequences/llist/llist_ith.syn - returns a pointer to the ith node in a linked list known to have at least i nodes * src/test/resources/synthesis/sequences/paper-benchmarks/sll/sll-length.syn - returns the length of an arbitrary linked list * src/test/resources/synthesis/sequences/paper-benchmarks/sll/sll-ith.syn - the value at the ith node in a linked list known to have sufficient nodes
71ddb71
to
9624864
Compare
Sorry for the delayed response. I have added a |
Adding a new IntSequence type to SuSLik.