Phillip Schanely

Results 53 issues of Phillip Schanely

We shouldn't have `watch` repeatedly check postconditions that have been fully verified once - it's wasteful! (but we do need to ensure they are re-checked on a file change) The...

[As described here](https://github.com/pschanely/CrossHair/discussions/105#discussioncomment-662381), CrossHair spends a lot of its execution time in a pure-python `sys.settrace` handler. Making this faster should speed up CrossHair quite a bit. It would be great...

enhancement

Pytest seems like it might be better for us then unittest: * it works better with mypy (because mypy understands real asserts) * It's easier to selectively run tests (CrossHair...

help wanted
good first issue
code health
Hacktoberfest

This is a growing list of regex capabilities that CrossHair supports with symbolic execution. Like Z3, CrossHair won't do much with analysis over a symbolic regex pattern - only symbolic...

enhancement

You know what would be amazing? Symbolically executing tests written for [Hypothesis](https://hypothesis.readthedocs.io/en/latest/quickstart.html)! For example: ```python @given(st.integers(min_value=0)) def test(x): assert x ** 2 >= x # could be equivalent to def...

enhancement
help wanted

Hello, I briefly looked over your repo and I'm unfamiliar with using a .py file for precommit... is there any reason you don't configure pre-commit with a `.pre-commit-config.yaml` and then...

This is a tracking issue that we will likely never mark resolved. CrossHair wants to run in the background (via `crosshair watch`), but IDE integrations can still provide value by...

enhancement

In general, I like the idea of having one file in [libimpl/](https://github.com/pschanely/CrossHair/tree/master/crosshair/libimpl) per standard library. But [builtinslib.py](https://github.com/pschanely/CrossHair/blob/master/crosshair/libimpl/builtinslib.py) contains the majority of CrossHair's meaningful logic. It's a little too big right...

code health

One of CrossHair's strengths is that it models the heap and can detect a variety of "aliasing" problems - bugs caused by having the same object accessible through different paths...

missed bug

[This crosshair-web example](https://crosshair-web.org/?gist=3dd02ddaa369e296a95df274eebc258a&crosshair=0.1&python=3.8) should be confirmed, but reports a confusing counterexample instead.