{"id":171153,"date":"2013-05-19T09:16:29","date_gmt":"2013-05-19T09:16:29","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/q-program-verifier\/"},"modified":"2020-10-04T23:48:07","modified_gmt":"2020-10-05T06:48:07","slug":"q-program-verifier","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/q-program-verifier\/","title":{"rendered":"Corral Program Verifier"},"content":{"rendered":"
Corral is a\u00a0whole-program analysis tool for Boogie <\/a>programs. Corral uses goal-directed symbolic search techniques to find assertion violations.\u00a0It leverages the powerful\u00a0theorem prover Z3. It is available open source on\u00a0GitHub<\/a>.\u00a0Corral, by default, does a bounded search up to a recursion depth and fixed number of context switches. Corral also supports the Duality <\/a>extension for constructing\u00a0inductive proofs of correctness of programs.<\/p>\n New<\/strong>: Microsoft Static Driver Verifier Benchmarks<\/a><\/p>\n Corral powers Microsoft’s Static Driver Verifier <\/a>tool. This work has received several best paper awards:<\/span><\/span><\/p>\n There are multiple\u00a0front-ends\u00a0that compile source languages to Boogie. These can be paired with Corral to build program verifiers for different languages:<\/p>\n We\u00a0do not directly support any of these front-ends. Instead, we collaborate with the owners of these projects to make sure\u00a0Corral integrates nicely with these compilers.<\/p>\n News<\/strong>: SMACK, running the Corral verifier won second place <\/a>at the Software Verification Competition SV-COMP 2017<\/a>.<\/p>\n Corral used to be paired with HAVOC<\/a>\u00a0for end-to-end verification of C programs; this combination used to be called “Poirot”, but has since gone out of favor due to the effort needed in maintaining a HAVOC version compatible with Corral. Instead, we recommend using <\/a>SMACK for verifying C programs. Please use the name Corral in your research publications from now onwards.<\/p>\n Corral also powers an extension called the\u00a0Angelic Verifier <\/a>for finding bugs in open<\/em> programs.<\/p>\n Contact:<\/strong> If you are using (or wish to use)\u00a0Corral in your research project, please drop\u00a0an email to the authors listed on this page.<\/p>\n\t\n
\n