Writing Properties
Everything you need to know about writing properties
Last updated
Was this helpful?
Everything you need to know about writing properties
Last updated
Was this helpful?
With fuzzing you can automatically test properties (also called property-based testing). So, you'll first need to write some properties.
Diligence Fuzzing supports multiple property formats, but our preferred option is Scribble.
Scribble is a specification language for smart contracts where you write properties as annotations in your code. These annotations can be translated into runtime checks that trigger whenever a specified property is violated. This way Diligence Fuzzing can tell you exactly which property was violated.
Example Scribble property:
Learn more about Scribble over at .
We don't just find property violations of Scribble properties, but we also detect regular assertion failures.
We realise that you might already have test-cases for property-based testing tools. For this reason we've implemented a utility which converts such tests to Scribble-annotations!