anise icon indicating copy to clipboard operation
anise copied to clipboard

Formal verification / property testing

Open ChristopherRabotin opened this issue 4 years ago • 2 comments

  1. What should be formally verified?
  2. How should it be verified?

References:

  • https://github.com/project-oak/rust-verification-tools
  • https://github.com/AltSysrq/proptest
  • https://github.com/BurntSushi/quickcheck/ (and differences between quickcheck and proptest here)

ChristopherRabotin avatar Dec 09 '21 06:12 ChristopherRabotin

After having tested out the Hypothesis package in Python, it seems pretty evident that this would be extremely important for hardening the code and execution flow.

Relevant resources:

  • https://rust-fuzz.github.io/book/afl/tutorial.html
  • https://blog.trailofbits.com/2019/11/11/test-case-reduction/
  • https://github.com/AltSysrq/proptest

ChristopherRabotin avatar Apr 16 '22 05:04 ChristopherRabotin

Kani is a really clever formal verification tool that I've now successfully used on hifitime. It doesn't rely on random generation of test cases like Hypothesis and prop_test.

ChristopherRabotin avatar Aug 12 '22 05:08 ChristopherRabotin