Loop invariants are important building blocks in software verification. Many verification approaches use loop invariants as lemmata to construct proofs of correctness.
entry_type: loop_invariant
metadata:
format_version: 0.1
uuid: 91023a0f-9f45-4385-88c4-1152ade45537
creation_time: '2021-05-05T13:18:43.000Z'
producer:
name: CPAchecker
version: 2.0.1-svn
configuration: svcomp21--04-kInduction
task:
input_files:
- multivar_1-1.c
input_file_hashes:
multivar_1-1.c: 511f45a8d763ef520f6d92e4135c8572805994a66531c6216b17157d0dde2f9c
specification: CHECK( init(main()), LTL(G ! call(reach_error())) )
data_model: ILP32
language: C
location:
file_name: multivar_1-1.c
file_hash: 511f45a8d763ef520f6d92e4135c8572805994a66531c6216b17157d0dde2f9c
line: 22
column: 0
function: main
loop_invariant:
string: (x >= 1024U) && (x <= 4294967295U) && (y == x)
type: assertion
format: C
"loop_invariant"
Information that identifies the entry and describes the context of its production.
Version of the format of the entry.
Specific value:"0.1"
Date and time in ISO8601 format when the entry (not the file) was created.
Producer of the entry.
Name of the producer.
Version of the producer.
Configuration of the producer. Should be used to distinguish different configurations of the same version of the producer.
Additional description about the producer. Could be used for any information that does not fit into any of the other producer properties.
Bash-compliant command line used to produce the entry. Should be used to improve reproducibility.
Verification task for which the entry was produced.
Files belonging to the verification task that were given as input to the producer.
Bash-compliant file name pattern, which must represent exactly one file.
SHA-256 hashes of each file in input_files
. Every file name pattern listed in input_files
must appear as a key.
Each additional property must conform to the following schema
Type: stringSHA-256 hash.
Must match regular expression:[0-9a-fA-F]{64}
Data model to be assumed for the task.
Source language of the input files.
C
Java
Location in the source code where the loop invariant holds.
Name of the file. Must be present in task.input_files
.
SHA-256 hash of the file.
Must match regular expression:[0-9a-fA-F]{64}
Line in the file (starting with 1).
Value must be greater or equal to 1
Column in the file (starting with 0). Column 0 refers to the very beginning of the line (before any characters).
Value must be greater or equal to 0
Name of the surrounding function.
The loop invariant description.
The invariant itself.
Interpretation of string
. The following values are supported:
assertion
: Assertion, e.g. assert(<string>)
in C, inserted at the specified location. The insertion is hypothetical and doesn't affect other locations.Format of string
. The following values are supported:
C
: Expression in C language.Loop invariant certificates document validation attempts of loop invariants, for example by trying to use the target loop invariant in a proof of correctness.
Certificates document correctness and trustworthiness of invariants.
entry_type: loop_invariant_certificate
metadata:
format_version: 0.1
uuid: 954affa9-32e4-4b35-85ae-888da3a6a53b
creation_time: '2021-05-05T13:18:43.000Z'
producer:
name: CPAchecker
version: 2.0.1-svn
configuration: svcomp21--04-kInduction
target:
uuid: 91023a0f-9f45-4385-88c4-1152ade45537
type: loop-invariant
file_hash: 511f45a8d763ef520f6d92e4135c8572805994a66531c6216b17157d0dde2f9c
certification:
string: confirmed
type: verdict
format: confirmed | rejected
"loop_invariant_certificate"
Information that identifies the certificate entry and describes the context of its production.
Version of the format of the certificate entry.
Specific value:"0.1"
Date and time in ISO8601 format when the certificate entry (not the file or target entry) was created.
Producer of the certificate entry.
Name of the producer.
Version of the producer.
Configuration of the producer. Should be used to distinguish different configurations of the same version of the producer.
Additional description about the producer. Could be used for any information that does not fit into any of the other producer properties.
Bash-compliant command line used to produce the entry. Should be used to improve reproducibility.
Target entry of type loop_invariant
which is being certified.
Unique identifier of the target entry.
entry_type
of the target entry.
SHA-256 hash of the target file.
Must match regular expression:[0-9a-fA-F]{64}
The loop invariant certification result description.
The certification result itself.
Interpretation of string
. The following values are supported:
verdict
: Verdict about the targeted entry.Format of string
. The following values are supported:
confirmed | rejected
: Either "confirmed" or "rejected".