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

Formalize verification of contracts #1161

Open
lerno opened this issue Feb 29, 2024 · 0 comments
Open

Formalize verification of contracts #1161

lerno opened this issue Feb 29, 2024 · 0 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@lerno
Copy link
Collaborator

lerno commented Feb 29, 2024

In order to separate capabilities for compilers, introducing formal verification levels of contracts could be useful. A simple example:

V0: Contracts are only semantically checked.
V1: @require may be compiled into asserts inside of the function. Compile time violations detected through constant folding should not compile.
V2: As V1, but @ensures is also checked.
V3: @require and @ensures are added at the caller side as well. Compile time violations detected through constant folding should not compile.
V4: Detected compile time violations also includes range checks.
V5: Something else

@lerno lerno added this to the First release (v1.0) milestone Apr 1, 2024
@lerno lerno added documentation Improvements or additions to documentation enhancement New feature or request labels Jun 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant