top | item 22054433

Show HN: CrossHair – SMT Assisted Testing for Python

97 points| pschanely | 6 years ago |github.com

14 comments

order

ZeroCool2u|6 years ago

Hey there, this project looks really great! There seems to be some overlap with the Hypothesis-Auto[1] project. Have you looked into collaborating with Tim and perhaps merging your work together? It seems like it would be very powerful!

[1] https://timothycrosley.github.io/hypothesis-auto/

timothycrosley|6 years ago

Can confirm that I would be happy to collaborate on this project, it looks really cool!

pschanely|6 years ago

Hi all! My primary objective with this post is to find potential collaborators and people willing to try it. (and file bugs!)

If you do try it, I'd encourage you to think of it as an exercise in formally documenting your code's behavior, with the side benefit that CrossHair can sometimes help you ensure the correctness of that documentation.

And, of course, feedback of any kind at all is honestly appreciated. Thanks for being the awesome community that you are!

zitterbewegung|6 years ago

This is a really minor nitpick that I am expressing to help you market this better. Instead of saying (defunct) PEP 316 just say inspired which communicates that you don’t do everything of pep 316 also .

exdsq|6 years ago

Hey! I'd love to collaborate :)

This is an area I'm trying to focus my Masters on, so any opportunity to apply what I'm reading is more than welcome! I'll add my email to my profile if you'd like to chat.

philzook|6 years ago

Very cool! Ever looked at the Viper project? It's the only other system in python that I know of targeting pre and post conditions

https://www.pm.inf.ethz.ch/research/viper.html

https://www.pm.inf.ethz.ch/research/nagini.html

Another thing that might be of interest is HOLpy. I have no idea what the state of that is. https://arxiv.org/abs/1905.05970

I was fiddling around recently with way jankier methods than what you've done here http://www.philipzucker.com/programming-and-interactive-prov...

typon|6 years ago

This looks really cool. Love to see z3 being used for tools.

pschanely|6 years ago

Yes. Z3 is impressive. I intend to do a write-up of how I chose to model Python values in it soon.