Skip to content

Commit 602d13b

Browse files
Update echidna configuration.md to include symbolic execution documentation
1 parent dab4317 commit 602d13b

File tree

1 file changed

+36
-21
lines changed

1 file changed

+36
-21
lines changed

program-analysis/echidna/configuration.md

Lines changed: 36 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -375,49 +375,54 @@ Run events server on the given port.
375375

376376
### `symExec`
377377

378-
| Type | Default | Available in |
379-
| ---- | ------- | ------------ |
380-
| Bool | `false` | 2.2.4+ |
378+
| Type | Default | Available in | CLI equivalent |
379+
| ---- | ------- | ------------ | ----------------|
380+
| Bool | `false` | 2.2.4+ | `--sym-exec` |
381381

382382
Whether to add an additional symbolic execution worker.
383383

384-
### `symExecConcolic`
385-
386-
| Type | Default | Available in |
387-
| ---- | ------- | ------------ |
388-
| Bool | `true` | 2.2.4+ |
389-
390-
Whether symbolic execution will be concolic (vs full symbolic execution). Only
391-
relevant if `symExec` is true.
392-
393384
### `symExecNSolvers`
394385

395-
| Type | Default | Available in |
396-
| ---- | ------- | ------------ |
397-
| Int | `1` | 2.2.4+ |
386+
| Type | Default | Available in | CLI equivalent |
387+
| ---- | ------- | ------------ | -----------------------|
388+
| Int | `1` | 2.2.4+ | `--sym-exec-n-solvers` |
398389

399390
Number of SMT solvers used in symbolic execution. While there is a single
400391
symExec worker, N threads may be used to solve SMT queries. Only relevant if
401392
`symExec` is true.
402393

403394
### `symExecTimeout`
404395

396+
| Type | Default | Available in | CLI equivalent |
397+
| ---- | ------- | ------------ | ---------------------|
398+
| Int | `30` | 2.2.4+ | `--sym-exec-timeout` |
399+
400+
Timeout for symbolic execution SMT solver per formula to solve. Only relevant if `symExec` is true.
401+
402+
### `symExecSMTSolver`
403+
404+
| Type | Default | Available in |
405+
| ---- | -----------| ------------ |
406+
| Int | `bitwuzla` | 2.2.8+ |
407+
408+
The SMT solver used when doing symbolic execution. Valid values are: "cvc5", "z3" and "bitwuzla". Only relevant if `symExec` is true.
409+
410+
### `symExecMaxExplore`
411+
405412
| Type | Default | Available in |
406413
| ---- | ------- | ------------ |
407-
| Int | `30` | 2.2.4+ |
414+
| Int | `10` | 2.2.4+ |
408415

409-
Timeout for symbolic execution SMT solver. Only relevant if `symExec` is true.
410-
When the SMT solver used is Z3, this timeout applies per query, and is not
411-
global.
416+
Number of states in base 2 (e.g. `2 ** 10`) that we may explore using symbolic execution. Only relevant if
417+
`symExec` is true.
412418

413419
### `symExecMaxIters`
414420

415421
| Type | Default | Available in |
416422
| ---- | ------- | ------------ |
417423
| Int | `10` | 2.2.4+ |
418424

419-
Number of times we may revisit a particular branching point. Only relevant if
420-
`symExec` is true and `symExecConcolic` is false.
425+
Number of times we may revisit a particular branching point. Only relevant if `symExec` is true.
421426

422427
### `symExecAskSMTIters`
423428

@@ -497,3 +502,13 @@ introduction of on-chain fuzzing in Echidna, it had become deprecated, and was l
497502

498503
Enabled the collection of worst-case gas usage. The information was stored as
499504
part of the corpus on the `gas_info` field. This functionality was experimental.
505+
506+
### `symExecConcolic`
507+
508+
| Type | Default | Available in |
509+
| ---- | ------- | -------------- |
510+
| Bool | `true` | \* until 2.2.8 |
511+
512+
Whether symbolic execution will be concolic (vs full symbolic execution). Only
513+
relevant if `symExec` is true.
514+

0 commit comments

Comments
 (0)