-
Notifications
You must be signed in to change notification settings - Fork 3
Specification and symbolic execution #96
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
Conversation
|
|
||
| @attr.s | ||
| class Specification(object): | ||
| name = attr.ib(type=str) |
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.
Use attrs (i.e., use the code that was deleted).
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.
I don't exactly know how to specify that the argument should be str but I want the value to be set as Expression(precondition) in this format. If you know how, let me know so that I can change it.
houston/specification.py
Outdated
| self.__name = name | ||
| self.__precondition = Expression(precondition) | ||
| self.__postcondition = Expression(postcondition) | ||
| super().__init__() |
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 does nothing.
houston/specification.py
Outdated
| return 1.0 | ||
|
|
||
| def get_constraint(self, command: 'Command', state: State, | ||
| postfix: str = '')\ |
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.
No need for \. Also, one arg per line.
houston/specification.py
Outdated
| name: str, | ||
| precondition: str, | ||
| postcondition: str | ||
| ) -> None: |
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.
Where's the timeout lambda?
Using Z3 to validate the specifications and a symbolic execution module + delta debugging.