Helping users to reduce Brittleness in their Dafny programs - a success story
This program is tentative and subject to change.
Brittleness, or proof instability, is the problem where small changes to an SMT query cause the SMT solver to either take much longer to return than previously, or fail to return a result at all. Tackling this problem is critical for SMT-based automated program verifiers, such as Dafny or F*, where small changes to the program or tool versions can trigger brittleness and lead to a bad user experience. Recent work provides methods to measure brittleness, determines that the problem is widespread in practice, and proposes automated ways to reduce its occurrence. In this work we present language features for reducing brittleness that the user applies manually which go beyond what the automated methods proposed previously, could achieve. We show on various examples and on code deployed at scale at MajorCloudProvider that applying these techniques is easy for developers and has significant impact.
This program is tentative and subject to change.
Sun 19 JanDisplayed time zone: Mountain Time (US & Canada) change
11:00 - 12:30 | |||
11:00 18mTalk | Helping users to reduce Brittleness in their Dafny programs - a success story Dafny | ||
11:18 18mTalk | Towards Proof Stability in SMT-based Program Verification Dafny | ||
11:36 18mTalk | Verifying the Fisher-Yates Shuffle Algorithm in Dafny Dafny Stefan Zetzsche Amazon Web Services, Tancrède Lepoint Amazon Web Services, Jean-Baptiste Tristan Amazon Web Services, Mikael Mayer Automated Reasoning Group, Amazon Web Services | ||
11:54 18mTalk | Shipwright: A Modular Framework for Verifying Liveness of Byzantine Fault Tolerant Systems Dafny Derek Leung MIT, Nickolai Zeldovich Massachusetts Institute of Technology, USA, M. Frans Kaashoek Massachusetts Institute of Technology, USA | ||
12:12 18mTalk | Well-Behaved (Co)algebraic Semantics of Regular Expressions in Dafny Dafny |