{"repo":"pschanely/CrossHair","free":true,"listed":false,"github":"https://github.com/pschanely/CrossHair","clone":"git clone https://github.com/pschanely/CrossHair.git","description":"An analysis tool for Python that blurs the line between testing and type systems.","language":"Python","stars":1315,"topics":["python","static-analysis","testing-framework","symbolic-execution","type-systems","fuzzing","contracts","dynamic-analysis","testing","z3"],"license":null,"category":"dev-tools","readme_excerpt":"CrossHair An analysis tool for Python that blurs the line between testing and type systems. THE LATEST NEWS: Python's most popular property-based testing tool, Hypothesis, now supports running CrossHair as an optional backend! 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. [SMT solver]: https://en.wikipedia.org/wiki/Satisfiability modulo theories [this paper]: https://hoheinzollern.files.wordpress.com/2008/04/seer1.pdf Try CrossHair right now, in your browser, at [crosshair-web.org]! CrossHair has [IDE integrations] for [VS Code], [PyCharm], and more. Finally, CrossHair can do more than check contracts. It can also generate unit tests and find behavioral differences between functions. [IDE integrations]: https://crosshair.readthedocs.io/en/latest/ide integrations.html [VS Code]: https://marketplace.visualstudio.com/items?itemName=CrossHair.crosshair [PyCharm]: https://plugins.jetbrains.com/plugin/16266-crosshair-pycharm [crosshair-web","default_branch":null,"files":null,"tree":[],"storefront":"/r/pschanely","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/pschanely/CrossHair/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}