Hypra SupportRepository | Paper & Artifact | Code Samples | PMG at ETH ZurichNOTE: This extension is currently being developed and still unstable! The Hypra Support extension adds language support for Hypra / Hyper Hoare Logic to Visual Studio code. This includes a static syntax highlighting, static code completion and error handling. Futher, the extension contains a up-to-date instance of the Hypra verifer, which allows direct verification of Hypra files. This extension is part of the Hypra Verifier, which was developed by the Programming Methodology Group (PMG) at ETH Zurich. Pre-requisitesAt the moment, Hypra Support requires very specific pre-requisites in order to be used. The Hypra extension includes a Hypra instance, but does not include any external software, like the verifiers Hypra relies on. You will need to install these tools or use those already installed on your computer.
Using other versions is possible, but not tested. By default, Hypra uses the global installations, but paths can be updated in the settings. NOTE: At the moment, changing the binaries for Boogie and Z3 has no effect. We are working on this. UsageThere are two possible use cases supported: In-file verification and manual verification. By default, verification is attemtepted using the --auto argument for rule selection. In-file verification:
Manual Verification:
CommandsHypra: Verify File:
SettingsHypra supports customizable settings, which allow you to adjust the behaviour of the Hypra instance which is running in the background. This can be achieved by adjusting them in the VS Code settings. For example, you could change the Hypra path by:
Note: Entering faulty settings will lead to erronous behaviour in this case. More information can be found on Hypra's GitHub page. Hypra / HHL DocumentationAt the moment, no documentation for Hypra / HHL exists. Information can be found in the corresponding paper, on the website of the Programming Methodology Group at ETH Zurich, or in the provided code examples. ContactIf you have questions, you may reach us via the following contacts.
|