The Dafny Integrated Development Environment
This addresses usability issues for developers and researchers using formal verification tools, though it represents an incremental improvement over existing verification environments.
The paper tackles the problem of poor user experience in program verification tools by developing an integrated development environment for Dafny that improves responsiveness and provides better feedback for verification failures. The result is a system that offers real-time verification feedback and more helpful, demand-driven information during development.
In recent years, program verifiers and interactive theorem provers have become more powerful and more suitable for verifying large programs or proofs. This has demonstrated the need for improving the user experience of these tools to increase productivity and to make them more accessible to non-experts. This paper presents an integrated development environment for Dafny-a programming language, verifier, and proof assistant-that addresses issues present in most state-of-the-art verifiers: low responsiveness and lack of support for understanding non-obvious verification failures. The paper demonstrates several new features that move the state-of-the-art closer towards a verification environment that can provide verification feedback as the user types and can present more helpful information about the program or failed verifications in a demand-driven and unobtrusive way.