mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Change settings.modelChecker.targets to take an array instead of string
This commit is contained in:
+8
-6
@@ -448,10 +448,13 @@ the JSON option ``settings.modelChecker.timeout=<time>``, where 0 means no timeo
|
||||
Verification Targets
|
||||
====================
|
||||
|
||||
The types of verification targets created by the SMTChecker can also be customized via
|
||||
the CLI option ``--model-checker-target <targets>`` or the JSON option
|
||||
``settings.modelChecker.targets=<targets>``, where ``<targets>`` is a no-space-comma-separated
|
||||
list of one or more verification targets. The keywords that represent the targets are:
|
||||
The types of verification targets created by the SMTChecker can also be
|
||||
customized via the CLI option ``--model-checker-target <targets>`` or the JSON
|
||||
option ``settings.modelChecker.targets=<targets>``.
|
||||
In the CLI case, ``<targets>`` is a no-space-comma-separated list of one or
|
||||
more verification targets, and an array of one or more targets as strings in
|
||||
the JSON input.
|
||||
The keywords that represent the targets are:
|
||||
|
||||
- Assertions: ``assert``.
|
||||
- Arithmetic underflow: ``underflow``.
|
||||
@@ -461,8 +464,7 @@ list of one or more verification targets. The keywords that represent the target
|
||||
- Popping an empty array: ``popEmptyArray``.
|
||||
- Out of bounds array/fixed bytes index access: ``outOfBounds``.
|
||||
- Insufficient funds for a transfer: ``balance``.
|
||||
- All of the above: ``all``.
|
||||
- None of the above: ``none``.
|
||||
- All of the above: ``default`` (CLI only).
|
||||
|
||||
A common subset of targets might be, for example:
|
||||
``--model-checker-targets assert,overflow``.
|
||||
|
||||
@@ -374,16 +374,16 @@ Input Description
|
||||
"MyContract": [ "abi", "evm.bytecode.opcodes" ]
|
||||
}
|
||||
},
|
||||
// The modelChecker object is experimental and subject to changes.
|
||||
"modelChecker":
|
||||
{
|
||||
// Choose which model checker engine to use: all (default), bmc, chc, none.
|
||||
"engine": "chc",
|
||||
// Choose which targets should be checked: all (default), constantCondition,
|
||||
// Choose which targets should be checked: constantCondition,
|
||||
// underflow, overflow, divByZero, balance, assert, popEmptyArray, outOfBounds.
|
||||
// If the option is not given all targets are checked by default.
|
||||
// See the Formal Verification section for the targets description.
|
||||
// Multiple targets can be selected at the same time, separated by a comma
|
||||
// without spaces:
|
||||
"targets": "underflow,overflow,assert",
|
||||
"targets": ["underflow", "overflow", "assert"],
|
||||
// Timeout for each SMT query in milliseconds.
|
||||
// If this option is not given, the SMTChecker will use a deterministic
|
||||
// resource limit by default.
|
||||
|
||||
Reference in New Issue
Block a user