3 ms·
Hybrid Concrete/Symbolic Testing
- anentropic 4y agoWill be very interested to see what comes out of this!
- eddyschai 4y agoI found this pretty funny - read the docs while being totally excited and then saw my name second on the contributors list, I wrote a little code waaaaay back when Crosshair first started but completely forgot about it. Will definitely check out using it later today :)
- sankha93 4y agoThis seems to be an instance of concolic execution which has seen some success in the fuzzing and testing research community. The key ideas originate from these papers: [1] https://web.eecs.umich.edu/~weimerw/590/reading/p213-godefroid.pdf https://web.eecs.umich.edu/~weimerw/590/reading/p213-godefro... [2] https://mir.cs.illinois.edu/marinov/publications/SenETAL05CUTE.pdf https://mir.cs.illinois.edu/marinov/publications/SenETAL05CU... The Wikipedia page gives a good overview of the area and some successful applications: https://en.wikipedia.org/wiki/Concolic_testing https://en.wikipedia.org/wiki/Concolic_testing The technique works well when parts of the program space (including paths through the program) can be easily represented in SMT solvers (like booleans, bit vectors, and arithmetic), and the remainder program space can be explored using random testing. I am excited to see this work being brought to Crosshair in Python via Hypothesis!