You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-*nested relations* among arrays, e.g., `A[i] = B[C[3*i+2]]`
9
+
- The user can also use *terms* to represent desired information, e.g., `t1 = 2^x, t2 = log(n)`, and have DIG infer invariants over terms.
9
10
10
-
The user can also use *terms* to represent desired information, e.g., `t1 = 2^x, t2 = log(n)`, and have DIG infer invariants over terms.
11
+
<details>
11
12
13
+
<summary><kbd>details</kbd></summary>
14
+
12
15
DIG is written in Python and uses **Sympy** and **Z3**. It infers invariants using dynamic analysis (over execution traces). If source code (C, Java, Java Bytecode) is available, DIG can iteratively infer and check invariants.
13
16
DIG uses symbolic execution to collect symbolic states to check candidate invariants.
14
17
@@ -20,9 +23,13 @@ DIG's numerical relations (in particular, nonlinear equalities) have been used f
20
23
- termination and non-termination analyses (use nonlinear invariants to reason about ranking function for termination and recurrent sets for non-termination, `OOPSLA20`)
21
24
- array analysis, finding invariant relations over array data structures such as `A[i] = B[C[2i + 3]]`, (`ICSE12`, `TOSEM13`)
22
25
23
-
**Behcmarks**: The DIG project also produces a large set of **NLA**[benchmark programs](https://github.com/dynaroars/dig/tree/dev/benchmark) that contain nonlinear invariants. Many of these programs are used in the annual SV-COMP (Software verification competition), e.g., [`dig-nla`](https://gitlab.com/sosy-lab/benchmarking/sv-benchmarks/-/tree/main/c/nla-digbench) and [`dig-nla-scaling`](https://gitlab.com/sosy-lab/benchmarking/sv-benchmarks/-/tree/main/c/nla-digbench-scaling).
26
+
</details>
24
27
25
-
> To understand DIG's usage, a good starting point is reading our ICSE'22 tool paper https://dynaroars.github.io/pubs/nguyen2022syminfer.pdf.
28
+
29
+
> A good starting point to understand more about DIG is reading our ICSE'22 tool paper https://dynaroars.github.io/pubs/nguyen2022syminfer.pdf.
30
+
31
+
32
+
**Behcmarks**: The DIG project also produces a large set of **NLA**[benchmark programs](https://github.com/dynaroars/dig/tree/dev/benchmark) that contain nonlinear invariants. Many of these programs are used in the annual SV-COMP (Software verification competition), e.g., [`dig-nla`](https://gitlab.com/sosy-lab/benchmarking/sv-benchmarks/-/tree/main/c/nla-digbench) and [`dig-nla-scaling`](https://gitlab.com/sosy-lab/benchmarking/sv-benchmarks/-/tree/main/c/nla-digbench-scaling).
0 commit comments