c3c icon indicating copy to clipboard operation
c3c copied to clipboard

Formalize verification of contracts

Open lerno opened this issue 1 year ago • 0 comments

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 avatar Feb 29 '24 13:02 lerno