Formal verification is currently a popular method of debugging smart contracts. This method relies on logical and mathematical testing. However, it also requires developers to define what is correct, a task that becomes more complex as a project grows larger. But despite its inconveniences, formal verification is currently a leading option for bug testers.
Seberino’s alternative is called design debugging, and he says that this method requires “vastly less effort” than formal verification. According to Seberino, design debugging can catch deep and subtle bugs with very little effort, including all of the bugs that formal verification can find. The method is also relatively easy to learn.
Although design debugging has been subject to some criticism, the process is already widely used by big names in the tech industry. Both Amazon and Microsoft are using a related language called TLA+ to discover vulnerabilities in their products and services, meaning that design debugging is already a viable option.