• Stars
    star
    111
  • Rank 314,510 (Top 7 %)
  • Language
    Python
  • Created over 9 years ago
  • Updated over 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

minimal symbolic model checker & fuzzer
This directory contains a "minimal" implementation to demonstrate
the basic ideas of symbolic execution and concolic execution, using
Z3's Python interface.  You should read the KLEE and the SAGE papers
listed on the CSE 551 webiste.

* Install Z3/Python first: https://github.com/Z3Prover/z3

* (optional) Install Pygments: pip install Pygments

* Symbolic execution: run test_me.py.

* Check the implementation: sched_fork() in mc.py.

* Concolic execution: comment out the "test_me(x, y)" line,
  uncomment the next "mc_fuzz(...)" line, and run test_me.py.

* Check the implementation: mc_fuzz() and sched_flip() in mc.py.

* Try one more example: run bad.py.

* Run equivalence checking examples: ffs_eqv.py and mod_eqv.py.

Thanks to James Bornholt for the feedback.