How do you know whether random testing is working as expected? [1/3] Long ago in JQF, we used `assumeTrue` to bias fuzzing towards *valid* inputs. This is powerful, but the abstraction is quite coarse if you have many properties. (Refs: github.com/rohanpadhye/..., rohan.padhye.org/files/zest-i...)
Post
[2/3] I like the "Sometimes Assertions" abstraction recommended by Antithesis, which generalizes code coverage to user-defined predicates, possibly interleaved with application logic. Maybe we should support these in JQF too. (Ref: antithesis.com/docs/best_pr...)
[3/3] Another similarly cool idea is "events" in Tyche (by @harrisongoldste.in et al.), which is a PBT visualization extension for VSCode. We've actually integrated Tyche into JQF now so it works with Java fuzzing! Check it out. (Ref: github.com/tyche-pbt/ty..., github.com/rohanpadhye/...)
0 reposts2 likes