Jonan emphasized that formal verification provides mathematical proofs of program behavior, which can be crucial for complex systems. He pointed out that while it doesn't guarantee the entire program's correctness, it allows developers to state certain invariants within their systems. For instance, stating that the collective balance of a bank should never go below zero exemplifies how specific rules can be verified to maintain system integrity.
2. Open Source Initiative by Certora
Jonan shared exciting news regarding the company he works for, Certora, which recently open-sourced its prover for formal verification. This initiative aims to simplify the process of formal verification, making the tool more accessible to software developers. He encouraged attendees to give it a try, highlighting its ease of use and potential benefits for enhancing software reliability.
3. Misconceptions about Formal Verification
According to Jonan, many people outside of the Web3 space have misconceptions regarding formal verification, often believing it to be impractical based on outdated views. He stressed that modern applications can significantly benefit from formal methods, citing that while proving every aspect of a complex system may not always be feasible, essential invariants can and should be verified to avoid significant pitfalls.
4. Shift Towards Declarative Programming
Jonan argued for a shift from imperative to declarative programming, emphasizing that software engineers often program in a detailed, procedural manner rather than defining the desired outcomes. This shift could enable software to determine how to achieve the specified results, potentially reducing complexity and facilitating better integration with AI technologies that might assist in software development.
5. The Impact of AI in Software Development
Jonan noted the growing integration of AI into software development workflows. While he acknowledged the efficiency that AI can bring, he raised concerns about AI's tendency to "hallucinate" or produce unexpected outcomes. He argued for the necessity of robust formal verification methods to catch discrepancies that may arise when using AI, maintaining that clear invariants could safeguard against such pitfalls.
6. The Future of Auditing and Software Development
Jonan expressed skepticism regarding the future of human-led auditing in software development, given the inherent flaws in human judgment when scrutinizing complex codes. He believes that formal verification will become indispensable, especially as the software complexities continue to escalate with new technologies, making sure that core systems are secure and reliable for operational success.
Join the newsletter (free for now) curated by our flagship model
Value-packed daily reports covering news, markets, on-chain data, fundraising, governance, and more – sent to your inbox. Saving you 1 hour of research daily.