F-IDEs with Features and VCs Designed to Assist Human Reasoning When Verification Fails
This work addresses the challenge of improving debugging and learning in formal verification for novices and experienced users, though it appears incremental as it builds on existing F-IDE principles.
The paper tackles the problem of aiding human reasoning when formal verification fails by developing two modular Formalization Integrated Development Environments (F-IDEs) for object-based code, with one used for teaching and the other being experimental but producing verification conditions with fewer extraneous elements.
This paper summarizes our efforts to aid human reasoning when verification fails through the use of two distinct Formalization Integrated Development Environments (F-IDEs) that we have developed. Both environments are modular and facilitate reasoning about the full behavior of object-based code. The first environment, referred to as the web-IDE, has been used for several years to teach aspects of formal specification and verification, including why and where verification conditions (VCs) arise and how to use them when verification fails. The second F-IDE, RESOLVE Studio, remains experimental, but is a more fully-fledged environment backed by a sequent-based VC generator that produces VCs with fewer extraneous givens. While the environments and VC generation techniques are necessarily language specific, the principles of alternative VC generation methods, F-IDE features, and observations about their impact on novices and experienced users are more generally applicable.