Hacker GitHub

← All repos

pschanely/CrossHair

View on GitHub ↗ ★ 1,341 Python

An analysis tool for Python that blurs the line between testing and type systems.

11 mentions on Hacker News by 9 people: 3 stories, 8 comments · first 2020-01-15 · latest 2026-03-17

Mentions per year 11 mentions · busiest year 2021 (4)
20082026
  1. …An analysis tool for Python that blurs the line between testing and type systems https://github.com/pschanely/CrossHair : > If you have a function with type annotations and add a contract in a supported syntax, CrossHair will attempt to fi
  2. This is exactly what the CrossHair library does: https://github.com/pschanely/CrossHair It also overloads other methods to provide kind of symbolic objects.
  3. …tool for checking Python contracts using an SMT solver (using symbolic inputs over concrete paths): https://github.com/pschanely/CrossHair That said, these days I think property-based testing gets you the ~same benefits as contracts, and…
    comment by pschanely · 2024-11-14 · in Contracts for C++ (DbC) [pdf]
  4. …looks like CrossHair[0] is a similar tool that uses Z3 to find counter examples for predicates. [0] https://github.com/pschanely/CrossHair
  5. …the type annotations can be directly used. (I'm one of the authors of icontract-hypothesis.) [1] https://github.com/pschanely/CrossHair [2] https://github.com/mristin/icontract-hypothesis
  6. There's a tool for verification of Python programs based on contracts which uses Z3: https://github.com/pschanely/CrossHair You can use it as part of your CI or during the development (there's even a neat "watch" mode, akin to…
  7. …of your SMT-based projects, I'd love to compare your SMT solver notes with my mine from working on https://github.com/pschanely/CrossHair Sadly, there aren't a lot of resources on how to use SMT solvers well .
  8. …or if there are other ways to achieve that. But a similar tool for Python does it exactly this way: https://github.com/pschanely/CrossHair "CrossHair works by repeatedly calling your functions with symbolic inputs. It uses an SMT solver (a…
    comment by anentropic · 2020-06-13 · in Static Analysis