Skip to content

njues/Sypy

 
 

Repository files navigation

Sypy: A symbolic execution engine for Python.

Sypy leverages PyPy's interpreter to interpret Python bytecode and generate constraints. These constraints are solved using Microsoft's Z3 SMT solver.

Currently Sypy generates constraints for if statements involving integer values. While booleans, longs and floats have symbolic support they have not been tested yet. Function evaluation has not been tested yet. Besides, supporting arbitrary functions is probably not a good idea.

The most appropriate way would be to determine all possible return values of a function and substitute those values in the constraints.

TODO:

The most important thing to do right now is to interleave symbolic execution code in the binary operations.

About

A symbolic execution engine for Python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 89.5%
  • C 9.0%
  • Assembly 0.6%
  • C# 0.4%
  • Java 0.3%
  • C++ 0.2%