crosshair-tool 0.0.102
devel/py-crosshair-tool
Analyze Python code for correctness using symbolic execution
Description
CrossHair is an analysis tool for Python that blurs the line between testing and type systems. If you have a function with type annotations and add a contract in a supported syntax, CrossHair will attempt to find counterexamples for you. CrossHair works by repeatedly calling your functions with symbolic inputs. It uses an SMT solver (a kind of theorem prover) to explore viable execution paths and find counterexamples for you. This is not a new idea; a Python approach was first described in this paper. However, to my knowledge, CrossHair is the most complete implementation: it can use symbolic reasoning for the built-in types, user-defined classes, and much of the standard library.
Dependencies
- build devel/py-build
- build devel/py-installer
- build devel/py-setuptools
- build devel/py-wheel
- build lang/python311
- run devel/py-importlib-metadata
- run devel/py-packaging
- run devel/py-pygls
- run devel/py-typeshed-client
- run devel/py-typing-extensions
- run devel/py-typing-inspect
- run lang/python311
- run math/py-z3-solver
Commit History
may be incomplete — full history at freebsd-ports on GitHub
Loading commit history — this may take up to a minute on first view. Reload the page in a moment.