├── README.md ├── ai ├── arrays-1.c └── ex01.c ├── boc ├── bins.c ├── buf.c ├── queue.c ├── queue.cycl.c └── queue.safe.c ├── cba ├── README.md ├── cba_prog1.c ├── cba_prog1_lock.c └── prog1.c ├── chc ├── count.smt2 ├── lock2.smt2 ├── lock2_pa.smt2 ├── lock2_pa_sol.smt2 ├── lock2_pai.smt2 ├── lock2_pai_sol.smt2 ├── lock2_sol.smt2 ├── siglog_fig2.smt2 └── siglog_fig2_sol.smt2 ├── concurrency ├── lock1_mono.smt2 ├── lock1_ow.smt2 ├── lock1_rg.smt2 ├── mux_sem_last.smt2 └── soln │ ├── lock1_mono.smt2 │ ├── lock1_ow.smt2 │ ├── lock1_rg.smt2 │ └── mux_sem_last.smt2 ├── contributors.txt ├── license.txt ├── lock ├── lock01.c ├── lock01_solution.c ├── lock02.c ├── lock02_solution.c └── multi_lock.c ├── lustre ├── counters.lus ├── fib.lus ├── obs_example.lus ├── ssft_lustre_horn.pdf ├── stopwatch.lus └── switch.lus ├── mem ├── list1.c ├── list1_check.c ├── log.inv └── out.inv.ll ├── ptr └── ptr1.c ├── py ├── solve_chc.py └── synasc.py ├── qconf_demo ├── ai │ ├── ai.c │ └── ai2.c ├── boa │ ├── boa.c │ ├── boa2.c │ ├── boa2_instr.c │ └── boa_instr.c └── intro │ ├── false_example.c │ └── true_example.c ├── simple ├── add_by_one.c ├── ai.c ├── ssft_simple_1.c ├── ssft_simple_2.c ├── ssft_simple_3.c ├── ssft_simple_4.c ├── ssft_simple_5.c ├── ssft_simple_6.c ├── ssft_simple_7.c ├── ssft_simple_8.c └── ssft_simple_9.c ├── taint ├── README.md ├── pwdcheck_unsafe_1.c └── pwdcheck_unsafe_2_man.c ├── term ├── .z3-trace ├── README.md ├── constant.c ├── lexicographic.c ├── liveness.c ├── nonterm.c ├── piecewise.c ├── prob │ ├── README.md │ ├── prob00.c │ ├── prob00_solution.c │ ├── prob01.c │ ├── prob01_solution.c │ ├── prob02.c │ ├── prob02_solution.c │ ├── prob03.c │ ├── prob03_solution.c │ ├── prob04.c │ ├── prob04_solution.c │ ├── prob05.c │ └── prob05_solution.c └── single.c └── undefined ├── README.md ├── undefined-1-strip.c └── undefined-1.c /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/README.md -------------------------------------------------------------------------------- /ai/arrays-1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/ai/arrays-1.c -------------------------------------------------------------------------------- /ai/ex01.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/ai/ex01.c -------------------------------------------------------------------------------- /boc/bins.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/boc/bins.c -------------------------------------------------------------------------------- /boc/buf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/boc/buf.c -------------------------------------------------------------------------------- /boc/queue.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/boc/queue.c -------------------------------------------------------------------------------- /boc/queue.cycl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/boc/queue.cycl.c -------------------------------------------------------------------------------- /boc/queue.safe.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/boc/queue.safe.c -------------------------------------------------------------------------------- /cba/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/cba/README.md -------------------------------------------------------------------------------- /cba/cba_prog1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/cba/cba_prog1.c -------------------------------------------------------------------------------- /cba/cba_prog1_lock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/cba/cba_prog1_lock.c -------------------------------------------------------------------------------- /cba/prog1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/cba/prog1.c -------------------------------------------------------------------------------- /chc/count.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/chc/count.smt2 -------------------------------------------------------------------------------- /chc/lock2.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/chc/lock2.smt2 -------------------------------------------------------------------------------- /chc/lock2_pa.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/chc/lock2_pa.smt2 -------------------------------------------------------------------------------- /chc/lock2_pa_sol.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/chc/lock2_pa_sol.smt2 -------------------------------------------------------------------------------- /chc/lock2_pai.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/chc/lock2_pai.smt2 -------------------------------------------------------------------------------- /chc/lock2_pai_sol.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/chc/lock2_pai_sol.smt2 -------------------------------------------------------------------------------- /chc/lock2_sol.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/chc/lock2_sol.smt2 -------------------------------------------------------------------------------- /chc/siglog_fig2.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/chc/siglog_fig2.smt2 -------------------------------------------------------------------------------- /chc/siglog_fig2_sol.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/chc/siglog_fig2_sol.smt2 -------------------------------------------------------------------------------- /concurrency/lock1_mono.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/concurrency/lock1_mono.smt2 -------------------------------------------------------------------------------- /concurrency/lock1_ow.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/concurrency/lock1_ow.smt2 -------------------------------------------------------------------------------- /concurrency/lock1_rg.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/concurrency/lock1_rg.smt2 -------------------------------------------------------------------------------- /concurrency/mux_sem_last.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/concurrency/mux_sem_last.smt2 -------------------------------------------------------------------------------- /concurrency/soln/lock1_mono.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/concurrency/soln/lock1_mono.smt2 -------------------------------------------------------------------------------- /concurrency/soln/lock1_ow.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/concurrency/soln/lock1_ow.smt2 -------------------------------------------------------------------------------- /concurrency/soln/lock1_rg.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/concurrency/soln/lock1_rg.smt2 -------------------------------------------------------------------------------- /concurrency/soln/mux_sem_last.smt2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/concurrency/soln/mux_sem_last.smt2 -------------------------------------------------------------------------------- /contributors.txt: -------------------------------------------------------------------------------- 1 | Arie Gurfinkel, Jorge Navas, Teme Kahsai, 2 | -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/license.txt -------------------------------------------------------------------------------- /lock/lock01.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/lock/lock01.c -------------------------------------------------------------------------------- /lock/lock01_solution.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/lock/lock01_solution.c -------------------------------------------------------------------------------- /lock/lock02.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/lock/lock02.c -------------------------------------------------------------------------------- /lock/lock02_solution.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/lock/lock02_solution.c -------------------------------------------------------------------------------- /lock/multi_lock.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/lock/multi_lock.c -------------------------------------------------------------------------------- /lustre/counters.lus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/lustre/counters.lus -------------------------------------------------------------------------------- /lustre/fib.lus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/lustre/fib.lus -------------------------------------------------------------------------------- /lustre/obs_example.lus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/lustre/obs_example.lus -------------------------------------------------------------------------------- /lustre/ssft_lustre_horn.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/lustre/ssft_lustre_horn.pdf -------------------------------------------------------------------------------- /lustre/stopwatch.lus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/lustre/stopwatch.lus -------------------------------------------------------------------------------- /lustre/switch.lus: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/lustre/switch.lus -------------------------------------------------------------------------------- /mem/list1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/mem/list1.c -------------------------------------------------------------------------------- /mem/list1_check.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/mem/list1_check.c -------------------------------------------------------------------------------- /mem/log.inv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/mem/log.inv -------------------------------------------------------------------------------- /mem/out.inv.ll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/mem/out.inv.ll -------------------------------------------------------------------------------- /ptr/ptr1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/ptr/ptr1.c -------------------------------------------------------------------------------- /py/solve_chc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/py/solve_chc.py -------------------------------------------------------------------------------- /py/synasc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/py/synasc.py -------------------------------------------------------------------------------- /qconf_demo/ai/ai.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/qconf_demo/ai/ai.c -------------------------------------------------------------------------------- /qconf_demo/ai/ai2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/qconf_demo/ai/ai2.c -------------------------------------------------------------------------------- /qconf_demo/boa/boa.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/qconf_demo/boa/boa.c -------------------------------------------------------------------------------- /qconf_demo/boa/boa2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/qconf_demo/boa/boa2.c -------------------------------------------------------------------------------- /qconf_demo/boa/boa2_instr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/qconf_demo/boa/boa2_instr.c -------------------------------------------------------------------------------- /qconf_demo/boa/boa_instr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/qconf_demo/boa/boa_instr.c -------------------------------------------------------------------------------- /qconf_demo/intro/false_example.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/qconf_demo/intro/false_example.c -------------------------------------------------------------------------------- /qconf_demo/intro/true_example.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/qconf_demo/intro/true_example.c -------------------------------------------------------------------------------- /simple/add_by_one.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/simple/add_by_one.c -------------------------------------------------------------------------------- /simple/ai.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/simple/ai.c -------------------------------------------------------------------------------- /simple/ssft_simple_1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/simple/ssft_simple_1.c -------------------------------------------------------------------------------- /simple/ssft_simple_2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/simple/ssft_simple_2.c -------------------------------------------------------------------------------- /simple/ssft_simple_3.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/simple/ssft_simple_3.c -------------------------------------------------------------------------------- /simple/ssft_simple_4.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/simple/ssft_simple_4.c -------------------------------------------------------------------------------- /simple/ssft_simple_5.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/simple/ssft_simple_5.c -------------------------------------------------------------------------------- /simple/ssft_simple_6.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/simple/ssft_simple_6.c -------------------------------------------------------------------------------- /simple/ssft_simple_7.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/simple/ssft_simple_7.c -------------------------------------------------------------------------------- /simple/ssft_simple_8.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/simple/ssft_simple_8.c -------------------------------------------------------------------------------- /simple/ssft_simple_9.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/simple/ssft_simple_9.c -------------------------------------------------------------------------------- /taint/README.md: -------------------------------------------------------------------------------- 1 | # Taint analyis examples 2 | 3 | Courtesy of Yakir Vizel 4 | -------------------------------------------------------------------------------- /taint/pwdcheck_unsafe_1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/taint/pwdcheck_unsafe_1.c -------------------------------------------------------------------------------- /taint/pwdcheck_unsafe_2_man.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/taint/pwdcheck_unsafe_2_man.c -------------------------------------------------------------------------------- /term/.z3-trace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /term/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/README.md -------------------------------------------------------------------------------- /term/constant.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/constant.c -------------------------------------------------------------------------------- /term/lexicographic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/lexicographic.c -------------------------------------------------------------------------------- /term/liveness.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/liveness.c -------------------------------------------------------------------------------- /term/nonterm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/nonterm.c -------------------------------------------------------------------------------- /term/piecewise.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/piecewise.c -------------------------------------------------------------------------------- /term/prob/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/README.md -------------------------------------------------------------------------------- /term/prob/prob00.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/prob00.c -------------------------------------------------------------------------------- /term/prob/prob00_solution.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/prob00_solution.c -------------------------------------------------------------------------------- /term/prob/prob01.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/prob01.c -------------------------------------------------------------------------------- /term/prob/prob01_solution.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/prob01_solution.c -------------------------------------------------------------------------------- /term/prob/prob02.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/prob02.c -------------------------------------------------------------------------------- /term/prob/prob02_solution.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/prob02_solution.c -------------------------------------------------------------------------------- /term/prob/prob03.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/prob03.c -------------------------------------------------------------------------------- /term/prob/prob03_solution.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/prob03_solution.c -------------------------------------------------------------------------------- /term/prob/prob04.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/prob04.c -------------------------------------------------------------------------------- /term/prob/prob04_solution.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/prob04_solution.c -------------------------------------------------------------------------------- /term/prob/prob05.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/prob05.c -------------------------------------------------------------------------------- /term/prob/prob05_solution.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/prob/prob05_solution.c -------------------------------------------------------------------------------- /term/single.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/term/single.c -------------------------------------------------------------------------------- /undefined/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/undefined/README.md -------------------------------------------------------------------------------- /undefined/undefined-1-strip.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/undefined/undefined-1-strip.c -------------------------------------------------------------------------------- /undefined/undefined-1.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seahorn/seahorn-tutorial/HEAD/undefined/undefined-1.c --------------------------------------------------------------------------------