<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>boogie Wiki &amp; Documentation Rss Feed</title><link>http://boogie.codeplex.com/Wiki/View.aspx?title=Home</link><description>boogie Wiki Rss Description</description><item><title>Updated Wiki: Home</title><link>http://boogie.codeplex.com/wikipage?version=23</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Microsoft Research Boogie&lt;/h1&gt;
Boogie is an Intermediate Verification Language (IVL) for describing proof obligations to be discharged by a reasoning engine, typically an SMT solver.  The language is especially suitable when the proof obligations arise in the context of programs with control flow and imperative state.  The intermediate language is easy to target from source languages such as C# or C.  Boogie is also a verification engine that takes the Boogie language as input, generates verification conditions (VCs) for the proof obligations, and passes the VCs to a reasoning engine.  In the Boogie pipeline, there is room for various Boogie-to-Boogie transforms that either encode certain features (like parallelism) or make the checking more effective or efficient.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=FAQ&amp;referringTitle=Home"&gt;Frequently asked questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=External%20Dependencies&amp;referringTitle=Home"&gt;External Dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Binaries&amp;referringTitle=Home"&gt;How to install the binaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Sources&amp;referringTitle=Home"&gt;How to install and build the sources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=SourcesMono&amp;referringTitle=Home"&gt;How to install and build the sources using Mono&lt;/a&gt; (for OS X and Linux platforms)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=BVD&amp;referringTitle=Home"&gt;How to run the Boogie Verification Debugger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Contribute&amp;referringTitle=Home"&gt;How to contribute&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://research.microsoft.com/boogie"&gt;MSR Boogie site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://research.microsoft.com/en-us/um/people/moskal/boogie2011/"&gt;BOOGIE 2011&lt;/a&gt;: first international workshop on intermediate verification languages*&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;This project is sponsored by the &lt;a href="http://research.microsoft.com/rise"&gt;Research in Software Engineering Group (RiSE)&lt;/a&gt; based in the Microsoft Research Redmond Laboratory.&lt;br /&gt;&lt;br /&gt;Now you can try Boogie from your webbrowser at the &lt;a href="http://rise4fun.com/boogie"&gt;RiSE4Fun website&lt;/a&gt;. The website also supports &lt;a href="http://rise4fun.com/dafny"&gt;Dafny&lt;/a&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rustanleino</author><pubDate>Fri, 15 Feb 2013 22:15:46 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20130215101546P</guid></item><item><title>New Comment on "SourcesMono"</title><link>http://boogie.codeplex.com/wikipage?title=SourcesMono&amp;ANCHOR#C26485</link><description>The link for the Z3 download&amp;#58; http&amp;#58;&amp;#47;&amp;#47;research.microsoft.com&amp;#47;en-us&amp;#47;um&amp;#47;redmond&amp;#47;projects&amp;#47;z3&amp;#47;download.html&amp;#10;does not exisy</description><author>colinadams</author><pubDate>Sat, 09 Feb 2013 20:20:39 GMT</pubDate><guid isPermaLink="false">New Comment on "SourcesMono" 20130209082039P</guid></item><item><title>Updated Wiki: Home</title><link>http://boogie.codeplex.com/wikipage?version=22</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Microsoft Research Boogie&lt;/h1&gt;(aka &lt;i&gt;The World&amp;#39;s Best Program Verification System&lt;/i&gt;)&lt;br /&gt;Boogie is a program verification system that produces verification conditions for programs written in an intermediate language &amp;#40;also named Boogie&amp;#41;. The intermediate language is easy to target from source languages such as Spec&amp;#35;, C&amp;#35;, or even C.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=FAQ&amp;referringTitle=Home"&gt;Frequently asked questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=External%20Dependencies&amp;referringTitle=Home"&gt;External Dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Binaries&amp;referringTitle=Home"&gt;How to install the binaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Sources&amp;referringTitle=Home"&gt;How to install and build the sources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=SourcesMono&amp;referringTitle=Home"&gt;How to install and build the sources using Mono&lt;/a&gt; (for OS X and Linux platforms)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=BVD&amp;referringTitle=Home"&gt;How to run the Boogie Verification Debugger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Contribute&amp;referringTitle=Home"&gt;How to contribute&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://research.microsoft.com/boogie"&gt;MSR Boogie site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://research.microsoft.com/en-us/um/people/moskal/boogie2011/"&gt;BOOGIE 2011&lt;/a&gt;: first international workshop on intermediate verification languages*&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;This project is sponsored by the &lt;a href="http://research.microsoft.com/rise"&gt;Research in Software Engineering Group (RiSE)&lt;/a&gt; based in the Microsoft Research Redmond Laboratory.&lt;br /&gt;&lt;br /&gt;Now you can try Boogie from your webbrowser at the &lt;a href="http://rise4fun.com/boogie"&gt;RiSE4Fun website&lt;/a&gt;. The website also supports &lt;a href="http://rise4fun.com/dafny"&gt;Dafny&lt;/a&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>pcc</author><pubDate>Fri, 04 May 2012 00:34:22 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120504123422A</guid></item><item><title>Updated Wiki: SourcesMono</title><link>http://boogie.codeplex.com/wikipage?title=SourcesMono&amp;version=1</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to install and build the sources using Mono&lt;/h1&gt;
Boogie can be built and run on Mac OS X and Linux machines following the instructions below.&lt;br /&gt;
&lt;h2&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Mono; &lt;a href="http://www.mono-project.com/"&gt;http://www.mono-project.com/&lt;/a&gt;, &lt;span class="codeInline"&gt;apt-get install mono-devel&lt;/span&gt;, etc.&lt;/li&gt;
&lt;li&gt;Z3; download the correct version for your platform &lt;a href="http://research.microsoft.com/en-us/um/redmond/projects/z3/download.html"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Building&lt;/h2&gt;
Go to the &lt;span class="codeInline"&gt;Sources&lt;/span&gt; directory and use the &lt;span class="codeInline"&gt;xbuild&lt;/span&gt; command to build the &lt;span class="codeInline"&gt;Boogie.sln&lt;/span&gt; solution.&lt;br /&gt;&lt;pre&gt;
cd /path/to/boogie/Sources
xbuild Boogie.sln&lt;/pre&gt;&lt;br /&gt;Note that projects other than Boogie itself (i.e. Dafny, Chalice, BCT) have not yet been tested under Mono.&lt;br /&gt;
&lt;h2&gt;Running&lt;/h2&gt;
Boogie will try to find Z3 in its &lt;span class="codeInline"&gt;Binaries&lt;/span&gt; directory, named &lt;span class="codeInline"&gt;z3.exe&lt;/span&gt;.  You can make this available by creating a symlink as below:&lt;br /&gt;&lt;pre&gt;
ln -s /path/to/z3/bin/z3 /path/to/boogie/Binaries/z3.exe&lt;/pre&gt;&lt;br /&gt;Now you can run Boogie using &lt;span class="codeInline"&gt;mono&lt;/span&gt;:&lt;br /&gt;&lt;pre&gt;
mono /path/to/boogie/Binaries/Boogie.exe input.bpl&lt;/pre&gt;&lt;br /&gt;You may wish to create an alias for easy access in your .bashrc or similar:&lt;br /&gt;&lt;pre&gt;
alias boogie=&amp;#39;mono /path/to/boogie/Binaries/Boogie.exe&amp;#39;&lt;/pre&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>pcc</author><pubDate>Fri, 04 May 2012 00:33:21 GMT</pubDate><guid isPermaLink="false">Updated Wiki: SourcesMono 20120504123321A</guid></item><item><title>Updated Wiki: Binaries</title><link>http://boogie.codeplex.com/wikipage?title=Binaries&amp;version=6</link><description>&lt;div class="wikidoc"&gt;Go to the &amp;quot;Download&amp;quot; tab (to the right, or use the Downloads tab above) and click on the current release to download a zip file containing all of the binaries you need to run Boogie (and Dafny). Please let us know if something doesn&amp;#39;t work!&lt;br /&gt;&lt;br /&gt;After you download the Boogie zip file, you&amp;#39;ll need to tell Windows to unblock its contents.  To do that, right-click on the zip file, select Properties, click the Unblock button, and click OK.  You can then unzip the contents into the folder of your choice.&lt;br /&gt;&lt;br /&gt;You need some underlying prover to run Boogie.  We recommend Z3 (of which you&amp;#39;ll need version 3.2 or later), see &lt;a href="http://research.microsoft.com/projects/z3" class="externalLink"&gt;the Z3 page&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; for download/installation information.  Note, Boogie will find Z3 if you install it according to the default settings in the Z3 installer.  However, if you have a copy of z3.exe in the Boogie binaries directory, Boogie will prefer that copy.  You can use Boogie&amp;#39;s /trace flag to see where Boogie is getting Z3 from, and there are also command-line flags for letting you specify a different location (see /help).&lt;br /&gt;&lt;br /&gt;The Boogie zip file also contains Dafny.  However, it does not include the Dafny mode for Visual Studio.  To install the Dafny mode for Visual Studio, you need to &lt;a href="http://boogie.codeplex.com/wikipage?title=Sources&amp;referringTitle=Binaries"&gt;build from sources&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Apparently some people persist in using a 1970s operating system. If you are one of those unfortunate people, then &lt;a href="http://www.zvonimir.info/" class="externalLink"&gt;Zvonimir Rakamaric&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has written a &lt;a href="http://www.zvonimir.info/2010/12/a-tutorial-for-running-boogie-and-z3-on-linux/" class="externalLink"&gt;tutorial&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on how to run Boogie under Linux.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE&lt;/b&gt;: The new bytecode translator is &lt;b&gt;not&lt;/b&gt; included in the binary release. It will be once it is fully functional.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rustanleino</author><pubDate>Mon, 12 Mar 2012 23:39:23 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Binaries 20120312113923P</guid></item><item><title>Updated Wiki: Binaries</title><link>http://boogie.codeplex.com/wikipage?title=Binaries&amp;version=5</link><description>&lt;div class="wikidoc"&gt;Go to the &amp;quot;Download&amp;quot; tab and click on the current release to download a zip file containing all of the binaries you need to just run Boogie. Please let us know if something doesn&amp;#39;t work!&lt;br /&gt;&lt;br /&gt;After you download the Boogie zip file, you&amp;#39;ll need to tell Windows to unblock its contents.  To do that, right-click on the zip file, select Properties, click the Unblock button, and click OK.  You can then unzip the contents into the folder of your choice.&lt;br /&gt;&lt;br /&gt;You need some underlying prover to run Boogie.  We recommend Z3 (of which you&amp;#39;ll need version 3.2 or later), see &lt;a href="http://research.microsoft.com/projects/z3" class="externalLink"&gt;the Z3 page&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; for download/installation information.  Note, Boogie will find Z3 if you install it according to the default settings in the Z3 installer.  However, if you have a copy of z3.exe in the Boogie binaries directory, Boogie will prefer that copy.  You can use Boogie&amp;#39;s /trace flag to see where Boogie is getting Z3 from, and there are also command-line flags for letting you specify a different location (see /help).&lt;br /&gt;&lt;br /&gt;The Boogie zip file also contains Dafny.  However, it does not include the Dafny mode for Visual Studio.  To install the Dafny mode for Visual Studio, you need to &lt;a href="http://boogie.codeplex.com/wikipage?title=Sources&amp;referringTitle=Binaries"&gt;build from sources&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Apparently some people persist in using a 1970s operating system. If you are one of those unfortunate people, then &lt;a href="http://www.zvonimir.info/" class="externalLink"&gt;Zvonimir Rakamaric&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has written a &lt;a href="http://www.zvonimir.info/2010/12/a-tutorial-for-running-boogie-and-z3-on-linux/" class="externalLink"&gt;tutorial&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on how to run Boogie under Linux.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE&lt;/b&gt;: The new bytecode translator is &lt;b&gt;not&lt;/b&gt; included in the binary release. It will be once it is fully functional.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rustanleino</author><pubDate>Tue, 08 Nov 2011 02:34:08 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Binaries 20111108023408A</guid></item><item><title>Updated Wiki: Sources</title><link>http://boogie.codeplex.com/wikipage?title=Sources&amp;version=24</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to install and build the sources&lt;/h1&gt;
After downloading the sources via the &amp;quot;Source Code&amp;quot; tab, check to make sure you have any &lt;a href="http://boogie.codeplex.com/wikipage?title=External%20Dependencies&amp;referringTitle=Sources"&gt;External Dependencies&lt;/a&gt; that you need. Then use the following directions for the program(s) you want to build. Some of them have extra dependencies. Note:
&lt;ul&gt;&lt;li&gt;Some users have reported problems when working under cygwin due to unexpected access permissions and file ownership; we strongly recommend using the Visual Studio 2008 Command Prompt.&lt;/li&gt;
&lt;li&gt;The build process seems to work more smoothly if you start the build steps from the command line rather than Visual Studio.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Boogie&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;To build Boogie: start by navigating to the Boogie/Source directory. Then either open Boogie.sln in Visual Studio and build the Debug configuration, or else from a command prompt type &lt;span class="codeInline"&gt;devenv Boogie.sln /build Debug&lt;/span&gt;. After building it, at a command prompt in the Test diretory, execute &lt;span class="codeInline"&gt;runtestall.bat short&lt;/span&gt;. Note that some tests require Dafny (see below). If you have not built Dafny yet, ignore the error messages for those tests. Let us know if something doesn&amp;#39;t succeed!&lt;/li&gt;
&lt;li&gt;(&lt;i&gt;Optional Step&lt;/i&gt;) If you want to change the parser, then you need to modify the grammar file (Source/Core/BoogiePL.atg) and run &lt;a href="http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/" class="externalLink"&gt;Coco/R&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. In order to do that, you will first need to get the &amp;quot;frame files&amp;quot; which Coco uses as input. Those are located on the &lt;a href="http://boogiepartners.codeplex.com/" class="externalLink"&gt;Boogie Partners&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; site.&lt;/li&gt;&lt;/ol&gt;

&lt;h2&gt;Dafny&lt;/h2&gt;First, build Boogie.  Then, in the Source directory, either open Dafny.sln in Visual Studio and build it, or else from a command prompt type &lt;span class="codeInline"&gt;devenv Dafny.sln /build Debug&lt;/span&gt;.&lt;br /&gt;
&lt;h2&gt;Chalice&lt;/h2&gt;Detailed instructions on how to build, run and test Chalice can be found in the file &lt;span class="codeInline"&gt;readme.txt&lt;/span&gt;, which resides in the Chalice directory.&lt;br /&gt;
&lt;h2&gt;BCT (Bytecode Translator)&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Currently, this can be installed and built completely separately from the rest of Boogie. If you do not have the rest of the Boogie sources installed, then install the Boogie binaries from the Downloads tab and copy them into the BCT/Imported/Boogie directory. If you have installed the Boogie sources and built them, you can either copy them from the Binaries directory there, or else change the references from the BytecodeTranslator project to point to the Boogie/Binaries directory.&lt;/li&gt;
&lt;li&gt;Install the sources for the &lt;a href="http://cciast.codeplex.com" class="externalLink"&gt;CCI Code and Ast Components&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project. The recommended structure is to put the project in a directory CCICodePlex/Ast.&lt;/li&gt;
&lt;li&gt;The project references to the CCI projects assume that the CCICodePlex directory is a sibling to the parent of the BCT directory. If this is not the case, then the project references to the CCI projects will appear unavailable in Visual Studio. You can remove them from the solution and add the following existing projects from wherever you installed the CCI sources. (You will also have to re-add them as external references to the BytecodeTranslator project.) 
&lt;ol&gt;&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Sources/CodeModel/CodeModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Sources/ILToCodeModel/ILToCodeModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/MetadataHelper/MetadataHelper.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/MetadataModel/MetadataModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Sources/MutableCodeModel/MutableCodeModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/MutableMetadataModel/MutableMetadataModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/PdbReader/PdbReader.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/PeReader/PeReader.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/SourceModel/SourceModel.csproj&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;Build the Debug configuration. If it doesn’t succeed, let us know!&lt;/li&gt;&lt;/ol&gt;

&lt;h2&gt;Visual Studio integration&lt;/h2&gt;You can edit Dafny and Chalice programs inside Microsoft Visual Studio 2010.  This gives you syntax highlighting and runs the verifier in the background, producing red squigglies for errors.  To install this mode, you need to build it, which is done in Visual Studio 2010.
&lt;ol&gt;&lt;li&gt;Install the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=2680" class="externalLink"&gt;Visual Studio 2010 SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; (or the &lt;a href="http://www.microsoft.com/download/en/details.aspx?id=21835" class="externalLink"&gt;Visual Studio 2010 SP1 SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; if you use Visual Studio 2010 SP1).&lt;/li&gt;
&lt;li&gt;Open Util/VS2010/Dafny/DafnyLanguageService.sln (or the analogous .sln file for Chalice in a parallel directory) in Visual Studio 2010.&lt;/li&gt;
&lt;li&gt;Build the project, which should report &amp;quot;Succeeded&amp;quot;.  Quit Visual Studio.  Now, the Dafny (or Chalice) mode is available in the &lt;i&gt;experimental instance&lt;/i&gt; of Visual Studio 2010.  This experimental instance is part of the VS 2010 SDK you just installed.&lt;/li&gt;
&lt;li&gt;The integration calls out to Dafny (or Chalice) in a primitive fashion, namely by invoking c:\tmp\StartDafny.bat.  This path is currently hard coded, so create a directory c:\tmp and copy into it the file Util/VS2010/Dafny/StartDafny.bat.&lt;/li&gt;
&lt;li&gt;Finally, open the experimental instance of Visual Studio 2010 and open any file with the .dfy (or .chalice) extension.  You start it from Start -&amp;gt; All programs -&amp;gt; Microsoft Visual Studio 2010 SDK -&amp;gt; Tools.  (You may want to right-click on it and select Pin To Start Menu for easy access.)  &lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;There is currently no project support for Dafny and Chalice programs, so if you want to add extra command-line options to the verifier, you have to do that by changing the batch file.  Another limitation is that you have to create new .dfy files outside Visual Studio (you can then open them and edit them and save them inside Visual Studio, but you can&amp;#39;t do the initial creation from inside Visual Studio, because then Visual Studio wants to append .txt to the end of the filename you&amp;#39;re trying to create).&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>wuestholz</author><pubDate>Wed, 26 Oct 2011 12:55:27 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Sources 20111026125527P</guid></item><item><title>Updated Wiki: Sources</title><link>http://boogie.codeplex.com/wikipage?title=Sources&amp;version=23</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to install and build the sources&lt;/h1&gt;
After downloading the sources via the &amp;quot;Source Code&amp;quot; tab, check to make sure you have any &lt;a href="http://boogie.codeplex.com/wikipage?title=External%20Dependencies&amp;referringTitle=Sources"&gt;External Dependencies&lt;/a&gt; that you need. Then use the following directions for the program(s) you want to build. Some of them have extra dependencies. Note:
&lt;ul&gt;&lt;li&gt;Some users have reported problems when working under cygwin due to unexpected access permissions and file ownership; we strongly recommend using the Visual Studio 2008 Command Prompt.&lt;/li&gt;
&lt;li&gt;The build process seems to work more smoothly if you start the build steps from the command line rather than Visual Studio.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Boogie&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;To build Boogie: start by navigating to the Boogie/Source directory. Then either open Boogie.sln in Visual Studio and build the Debug configuration, or else from a command prompt type &lt;span class="codeInline"&gt;devenv Boogie.sln /build Debug&lt;/span&gt;. After building it, at a command prompt in the Test diretory, execute &lt;span class="codeInline"&gt;runtestall.bat short&lt;/span&gt;. Note that some tests require Dafny (see below). If you have not built Dafny yet, ignore the error messages for those tests. Let us know if something doesn&amp;#39;t succeed!&lt;/li&gt;
&lt;li&gt;(&lt;i&gt;Optional Step&lt;/i&gt;) If you want to change the parser, then you need to modify the grammar file (Source/Core/BoogiePL.atg) and run &lt;a href="http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/" class="externalLink"&gt;Coco/R&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. In order to do that, you will first need to get the &amp;quot;frame files&amp;quot; which Coco uses as input. Those are located on the &lt;a href="http://boogiepartners.codeplex.com/" class="externalLink"&gt;Boogie Partners&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; site.&lt;/li&gt;&lt;/ol&gt;

&lt;h2&gt;Dafny&lt;/h2&gt;First, build Boogie.  Then, in the Source directory, either open Dafny.sln in Visual Studio and build it, or else from a command prompt type &lt;span class="codeInline"&gt;devenv Dafny.sln /build Debug&lt;/span&gt;.&lt;br /&gt;
&lt;h2&gt;Chalice&lt;/h2&gt;Detailed instructions on how to build, run and test Chalice can be found in the file &lt;span class="codeInline"&gt;readme.txt&lt;/span&gt;, which resides in the Chalice directory.&lt;br /&gt;
&lt;h2&gt;BCT (Bytecode Translator)&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Currently, this can be installed and built completely separately from the rest of Boogie. If you do not have the rest of the Boogie sources installed, then install the Boogie binaries from the Downloads tab and copy them into the BCT/Imported/Boogie directory. If you have installed the Boogie sources and built them, you can either copy them from the Binaries directory there, or else change the references from the BytecodeTranslator project to point to the Boogie/Binaries directory.&lt;/li&gt;
&lt;li&gt;Install the sources for the &lt;a href="http://cciast.codeplex.com" class="externalLink"&gt;CCI Code and Ast Components&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project. The recommended structure is to put the project in a directory CCICodePlex/Ast.&lt;/li&gt;
&lt;li&gt;The project references to the CCI projects assume that the CCICodePlex directory is a sibling to the parent of the BCT directory. If this is not the case, then the project references to the CCI projects will appear unavailable in Visual Studio. You can remove them from the solution and add the following existing projects from wherever you installed the CCI sources. (You will also have to re-add them as external references to the BytecodeTranslator project.) 
&lt;ol&gt;&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Sources/CodeModel/CodeModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Sources/ILToCodeModel/ILToCodeModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/MetadataHelper/MetadataHelper.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/MetadataModel/MetadataModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Sources/MutableCodeModel/MutableCodeModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/MutableMetadataModel/MutableMetadataModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/PdbReader/PdbReader.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/PeReader/PeReader.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/SourceModel/SourceModel.csproj&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;Build the Debug configuration. If it doesn’t succeed, let us know!&lt;/li&gt;&lt;/ol&gt;

&lt;h2&gt;Visual Studio integration&lt;/h2&gt;You can edit Dafny and Chalice programs inside Microsoft Visual Studio 2010.  This gives you syntax highlighting and runs the verifier in the background, producing red squigglies for errors.  To install this mode, you need to build it, which is done in Visual Studio 2010.
&lt;ol&gt;&lt;li&gt;Install the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=47305cf4-2bea-43c0-91cd-1b853602dcc5&amp;amp;displaylang=en" class="externalLink"&gt;Visual Studio 2010 SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Open Util/VS2010/Dafny/DafnyLanguageService.sln (or the analogous .sln file for Chalice in a parallel directory) in Visual Studio 2010.&lt;/li&gt;
&lt;li&gt;Build the project, which should report &amp;quot;Succeeded&amp;quot;.  Quit Visual Studio.  Now, the Dafny (or Chalice) mode is available in the &lt;i&gt;experimental instance&lt;/i&gt; of Visual Studio 2010.  This experimental instance is part of the VS 2010 SDK you just installed.&lt;/li&gt;
&lt;li&gt;The integration calls out to Dafny (or Chalice) in a primitive fashion, namely by invoking c:\tmp\StartDafny.bat.  This path is currently hard coded, so create a directory c:\tmp and copy into it the file Util/VS2010/Dafny/StartDafny.bat.&lt;/li&gt;
&lt;li&gt;Finally, open the experimental instance of Visual Studio 2010 and open any file with the .dfy (or .chalice) extension.  You start it from Start -&amp;gt; All programs -&amp;gt; Microsoft Visual Studio 2010 SDK -&amp;gt; Tools.  (You may want to right-click on it and select Pin To Start Menu for easy access.)  &lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;There is currently no project support for Dafny and Chalice programs, so if you want to add extra command-line options to the verifier, you have to do that by changing the batch file.  Another limitation is that you have to create new .dfy files outside Visual Studio (you can then open them and edit them and save them inside Visual Studio, but you can&amp;#39;t do the initial creation from inside Visual Studio, because then Visual Studio wants to append .txt to the end of the filename you&amp;#39;re trying to create).&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>stefanheule</author><pubDate>Wed, 03 Aug 2011 11:43:28 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Sources 20110803114328A</guid></item><item><title>Updated Wiki: Home</title><link>http://boogie.codeplex.com/wikipage?version=21</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Microsoft Research Boogie&lt;/h1&gt;(aka &lt;i&gt;The World&amp;#39;s Best Program Verification System&lt;/i&gt;)&lt;br /&gt;Boogie is a program verification system that produces verification conditions for programs written in an intermediate language &amp;#40;also named Boogie&amp;#41;. The intermediate language is easy to target from source languages such as Spec&amp;#35;, C&amp;#35;, or even C.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=FAQ&amp;referringTitle=Home"&gt;Frequently asked questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=External%20Dependencies&amp;referringTitle=Home"&gt;External Dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Binaries&amp;referringTitle=Home"&gt;How to install the binaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Sources&amp;referringTitle=Home"&gt;How to install and build the sources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=BVD&amp;referringTitle=Home"&gt;How to run the Boogie Verification Debugger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Contribute&amp;referringTitle=Home"&gt;How to contribute&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://research.microsoft.com/boogie" class="externalLink"&gt;MSR Boogie site&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://research.microsoft.com/en-us/um/people/moskal/boogie2011/" class="externalLink"&gt;BOOGIE 2011&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;: first international workshop on intermediate verification languages*&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;This project is sponsored by the &lt;a href="http://research.microsoft.com/rise" class="externalLink"&gt;Research in Software Engineering Group (RiSE)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; based in the Microsoft Research Redmond Laboratory.&lt;br /&gt;&lt;br /&gt;Now you can try Boogie from your webbrowser at the &lt;a href="http://rise4fun.com/boogie" class="externalLink"&gt;RiSE4Fun website&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. The website also supports &lt;a href="http://rise4fun.com/dafny" class="externalLink"&gt;Dafny&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rustanleino</author><pubDate>Wed, 03 Aug 2011 07:17:26 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110803071726A</guid></item><item><title>Updated Wiki: Documentation</title><link>http://boogie.codeplex.com/documentation?version=4</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Documentation&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://research.microsoft.com/en-us/um/people/leino/papers/krml178.pdf" class="externalLink"&gt;Boogie&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://research.microsoft.com/en-us/projects/dafny/Reference.aspx" class="externalLink"&gt;Dafny&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://research.microsoft.com/en-us/um/people/leino/papers/krml197.pdf" class="externalLink"&gt;Chalice&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=BCTDocumentation&amp;referringTitle=Documentation"&gt;BCT&lt;/a&gt; The BCT is the byte-code translator that takes MSIL from a .NET compiler and produces a Boogie program. It is built on top of &lt;a href="http://cciast.codeplex.com/" class="externalLink"&gt;CCI&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. It is (woefully) incomplete, but under active development. Please get in touch if you would like to help with the effort!&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rustanleino</author><pubDate>Thu, 28 Jul 2011 21:28:04 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20110728092804P</guid></item><item><title>Updated Wiki: Home</title><link>http://boogie.codeplex.com/wikipage?version=20</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Microsoft Research Boogie&lt;/h1&gt;(aka &lt;i&gt;The World&amp;#39;s Best Program Verification System&lt;/i&gt;)&lt;br /&gt;Boogie is a program verification system that produces verification conditions for programs written in an intermediate language &amp;#40;also named Boogie&amp;#41;. The intermediate language is easy to target from source languages such as Spec&amp;#35;, C&amp;#35;, or even C.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://research.microsoft.com/en-us/um/people/moskal/boogie2011/" class="externalLink"&gt;The first Boogie workshop&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; will be taking place on August 1, 2011.&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=FAQ&amp;referringTitle=Home"&gt;Frequently asked questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=External%20Dependencies&amp;referringTitle=Home"&gt;External Dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Binaries&amp;referringTitle=Home"&gt;How to install the binaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Sources&amp;referringTitle=Home"&gt;How to install and build the sources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=BVD&amp;referringTitle=Home"&gt;How to run the Boogie Verification Debugger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Contribute&amp;referringTitle=Home"&gt;How to contribute&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://research.microsoft.com/boogie" class="externalLink"&gt;MSR Boogie site&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;This project is sponsored by the &lt;a href="http://research.microsoft.com/rise" class="externalLink"&gt;Research in Software Engineering Group (RiSE)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; based in the Microsoft Research Redmond Laboratory.&lt;br /&gt;&lt;br /&gt;Now you can try Boogie from your webbrowser at the &lt;a href="http://rise4fun.com/boogie" class="externalLink"&gt;RiSE4Fun website&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. The website also supports &lt;a href="http://rise4fun.com/dafny" class="externalLink"&gt;Dafny&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rustanleino</author><pubDate>Thu, 28 Jul 2011 21:22:10 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110728092210P</guid></item><item><title>Updated Wiki: Binaries</title><link>http://boogie.codeplex.com/wikipage?title=Binaries&amp;version=4</link><description>&lt;div class="wikidoc"&gt;Go to the &amp;quot;Download&amp;quot; tab and click on the current release to download a zip file containing all of the binaries you need to just run Boogie. Please let us know if something doesn&amp;#39;t work!&lt;br /&gt;&lt;br /&gt;Apparently some people persist in using a 1970s operating system. If you are one of those unfortunate people, then &lt;a href="http://www.zvonimir.info/" class="externalLink"&gt;Zvonimir Rakamaric&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has written a &lt;a href="http://www.zvonimir.info/2010/12/a-tutorial-for-running-boogie-and-z3-on-linux/" class="externalLink"&gt;tutorial&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on how to run Boogie under Linux.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE&lt;/b&gt;: The new bytecode translator is &lt;b&gt;not&lt;/b&gt; included in the binary release. It will be once it is fully functional.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikebarnett</author><pubDate>Tue, 03 May 2011 22:53:51 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Binaries 20110503105351P</guid></item><item><title>Updated Wiki: BVD</title><link>http://boogie.codeplex.com/wikipage?title=BVD&amp;version=1</link><description>&lt;div class="wikidoc"&gt;The Boogie Verification Debugger (BVD) is a tool with an interface akin to that of dynamic debuggers.  It lets users learn more about failed verifications by inspecting the values of variables in the counterexample provided by the theorem prover.  BVD currently has plug-ins for VCC and for Dafny, and it works with Z3 as the theorem prover.&lt;br /&gt;
&lt;h2&gt;Using BVD with VCC&lt;/h2&gt;
You need to use VCC3, i.e., the new VCC memory model. Run VCC as follows:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
  vcc -3 -cev:foo.model foo.c
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This will create file &amp;quot;foo.model&amp;quot;, then run:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
  bvd foo.model
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Using BVD with Dafny&lt;/h2&gt;
Run:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
  dafny -mv:foo.model foo.dfy
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This will create file &amp;quot;foo.model&amp;quot;, then run:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
  bvd foo.model
&lt;/pre&gt;&lt;br /&gt;
&lt;h2&gt;Using BVD with Boogie&lt;/h2&gt;
Run:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
  boogie -mv:foo.model foo.bpl
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This will create file &amp;quot;foo.model&amp;quot;, then run:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;
  bvd foo.model
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Note that the model is displayed with no interpretation, and thus might be huge and confusing.&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rustanleino</author><pubDate>Thu, 10 Mar 2011 01:39:58 GMT</pubDate><guid isPermaLink="false">Updated Wiki: BVD 20110310013958A</guid></item><item><title>Updated Wiki: Home</title><link>http://boogie.codeplex.com/wikipage?version=19</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Microsoft Research Boogie&lt;/h1&gt;(aka &lt;i&gt;The World&amp;#39;s Best Program Verification System&lt;/i&gt;)&lt;br /&gt;Boogie is a program verification system that produces verification conditions for programs written in an intermediate language &amp;#40;also named Boogie&amp;#41;. The intermediate language is easy to target from source languages such as Spec&amp;#35;, C&amp;#35;, or even C.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://research.microsoft.com/en-us/um/people/moskal/boogie2011/" class="externalLink"&gt;The first Boogie workshop&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; will be taking place this summer. Submit your papers by May 1st.&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=FAQ&amp;referringTitle=Home"&gt;Frequently asked questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=External%20Dependencies&amp;referringTitle=Home"&gt;External Dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Binaries&amp;referringTitle=Home"&gt;How to install the binaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Sources&amp;referringTitle=Home"&gt;How to install and build the sources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=BVD&amp;referringTitle=Home"&gt;How to run the Boogie Verification Debugger&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Contribute&amp;referringTitle=Home"&gt;How to contribute&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://research.microsoft.com/boogie" class="externalLink"&gt;MSR Boogie site&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;This project is sponsored by the &lt;a href="http://research.microsoft.com/rise" class="externalLink"&gt;Research in Software Engineering Group (RiSE)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; based in the Microsoft Research Redmond Laboratory.&lt;br /&gt;&lt;br /&gt;Now you can try Boogie from your webbrowser at the &lt;a href="http://rise4fun.com/boogie" class="externalLink"&gt;RiSE4Fun website&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. The website also supports &lt;a href="http://rise4fun.com/dafny" class="externalLink"&gt;Dafny&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rustanleino</author><pubDate>Thu, 10 Mar 2011 01:31:16 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110310013116A</guid></item><item><title>Updated Wiki: Home</title><link>http://boogie.codeplex.com/wikipage?version=18</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Microsoft Research Boogie&lt;/h1&gt;(aka &lt;i&gt;The World&amp;#39;s Best Program Verification System&lt;/i&gt;)&lt;br /&gt;Boogie is a program verification system that produces verification conditions for programs written in an intermediate language &amp;#40;also named Boogie&amp;#41;. The intermediate language is easy to target from source languages such as Spec&amp;#35;, C&amp;#35;, or even C.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://research.microsoft.com/en-us/um/people/moskal/boogie2011/" class="externalLink"&gt;The first Boogie workshop&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; will be taking place this summer. Submit your papers by May 1st.&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=FAQ&amp;referringTitle=Home"&gt;Frequently asked questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=External%20Dependencies&amp;referringTitle=Home"&gt;External Dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Binaries&amp;referringTitle=Home"&gt;How to install the binaries&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Sources&amp;referringTitle=Home"&gt;How to install and build the sources&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://boogie.codeplex.com/wikipage?title=Contribute&amp;referringTitle=Home"&gt;How to contribute&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://research.microsoft.com/boogie" class="externalLink"&gt;MSR Boogie site&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;This project is sponsored by the &lt;a href="http://research.microsoft.com/rise" class="externalLink"&gt;Research in Software Engineering Group (RiSE)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; based in the Microsoft Research Redmond Laboratory.&lt;br /&gt;&lt;br /&gt;Now you can try Boogie from your webbrowser at the &lt;a href="http://rise4fun.com/boogie" class="externalLink"&gt;RiSE4Fun website&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. The website also supports &lt;a href="http://rise4fun.com/dafny" class="externalLink"&gt;Dafny&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>MichalMoskal</author><pubDate>Tue, 01 Feb 2011 22:55:23 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110201105523P</guid></item><item><title>Updated Wiki: External Dependencies</title><link>http://boogie.codeplex.com/wikipage?title=External Dependencies&amp;version=13</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;External Dependencies&lt;/h1&gt;
&lt;h2&gt;Things you must have in order to build Boogie&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;.NET 4.0&lt;/b&gt;: Boogie is a .NET application, so you must have the framework installed.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Things you might need in order to build Boogie&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Coco/R&lt;/b&gt;: Boogie&amp;#39;s parser uses &lt;a href="http://www.ssw.uni-linz.ac.at/Coco/" class="externalLink"&gt;Coco/R&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. You do not need to install Coco/R unless you plan on changing the Boogie language or the scanner/parser itself.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CCI&lt;/b&gt;: You will need to install the sources for &lt;a href="http://cciast.codeplex.com" class="externalLink"&gt;CCI&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; if you want to build the BCT (Bytecode Translator) project. Currently, the BCT is &lt;b&gt;not&lt;/b&gt; used by Boogie, so you shouldn&amp;#39;t need this project unless you are involved with its development.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Things you need in order to run Boogie&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Z3&lt;/b&gt;: Boogie&amp;#39;s default is to generate verification conditions for &lt;a href="http://research.microsoft.com/en-us/um/redmond/projects/z3/" class="externalLink"&gt;Z3&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Other theorem provers can also be used, e.g., &lt;a href="http://kind.ucd.ie/products/opensource/Simplify/" class="externalLink"&gt;Simplify&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. You need some theorem prover if you wish to actually find out whether a Boogie program is correct or not.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikebarnett</author><pubDate>Wed, 08 Dec 2010 20:49:39 GMT</pubDate><guid isPermaLink="false">Updated Wiki: External Dependencies 20101208084939P</guid></item><item><title>Updated Wiki: Binaries</title><link>http://boogie.codeplex.com/wikipage?title=Binaries&amp;version=3</link><description>&lt;div class="wikidoc"&gt;Go to the &amp;quot;Download&amp;quot; tab and click on the current release to download a zip file containing all of the binaries you need to just run Boogie. Please let us know if something doesn&amp;#39;t work!&lt;br /&gt;&lt;br /&gt;Apparently some people persist in using a 1970s operating system. If you are one of those unfortunate people, then &lt;a href="http://www.zvonimir.info/" class="externalLink"&gt;Zvonomir Rakamaric&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; has written a &lt;a href="http://rakamaric.blogspot.com/2010/12/tutorial-for-running-boogie-and-z3-on.html" class="externalLink"&gt;tutorial&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; on how to run Boogie under Linux.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE&lt;/b&gt;: The new bytecode translator is &lt;b&gt;not&lt;/b&gt; included in the binary release. It will be once it is fully functional.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikebarnett</author><pubDate>Tue, 07 Dec 2010 18:27:28 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Binaries 20101207062728P</guid></item><item><title>Updated Wiki: External Dependencies</title><link>http://boogie.codeplex.com/wikipage?title=External Dependencies&amp;version=12</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;External Dependencies&lt;/h1&gt;
&lt;h2&gt;Things you must have in order to build Boogie&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;.NET 4.0&lt;/b&gt;: Boogie is a .NET application, so you must have the framework installed.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Things you might need in order to build Boogie&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Coco/R&lt;/b&gt;: Boogie&amp;#39;s parser uses &lt;a href="http://www.ssw.uni-linz.ac.at/Coco/" class="externalLink"&gt;Coco/R&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. You do not need to install Coco/R unless you plan on changing the Boogie language or the scanner/parser itself.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;CCI&lt;/b&gt;: You will need to install the sources for &lt;a href="http://ccimetadata.codeplex.com" class="externalLink"&gt;CCI&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; if you want to build the BCT (Bytecode Translator) project. Currently, the BCT is &lt;b&gt;not&lt;/b&gt; used by Boogie, so you shouldn&amp;#39;t need this project unless you are involved with its development.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Things you need in order to run Boogie&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Z3&lt;/b&gt;: Boogie&amp;#39;s default is to generate verification conditions for &lt;a href="http://research.microsoft.com/en-us/um/redmond/projects/z3/" class="externalLink"&gt;Z3&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. Other theorem provers can also be used, e.g., &lt;a href="http://kind.ucd.ie/products/opensource/Simplify/" class="externalLink"&gt;Simplify&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. You need some theorem prover if you wish to actually find out whether a Boogie program is correct or not.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikebarnett</author><pubDate>Mon, 06 Dec 2010 23:00:35 GMT</pubDate><guid isPermaLink="false">Updated Wiki: External Dependencies 20101206110035P</guid></item><item><title>Updated Wiki: Sources</title><link>http://boogie.codeplex.com/wikipage?title=Sources&amp;version=22</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to install and build the sources&lt;/h1&gt;
After downloading the sources via the &amp;quot;Source Code&amp;quot; tab, check to make sure you have any &lt;a href="http://boogie.codeplex.com/wikipage?title=External%20Dependencies&amp;referringTitle=Sources"&gt;External Dependencies&lt;/a&gt; that you need. Then use the following directions for the program(s) you want to build. Some of them have extra dependencies. Note:
&lt;ul&gt;&lt;li&gt;Some users have reported problems when working under cygwin due to unexpected access permissions and file ownership; we strongly recommend using the Visual Studio 2008 Command Prompt.&lt;/li&gt;
&lt;li&gt;The build process seems to work more smoothly if you start the build steps from the command line rather than Visual Studio.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Boogie&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;To build Boogie: start by navigating to the Boogie/Source directory. Then either open Boogie.sln in Visual Studio and build the Debug configuration, or else from a command prompt type &lt;span class="codeInline"&gt;devenv Boogie.sln /build Debug&lt;/span&gt;. After building it, at a command prompt in the Test diretory, execute &lt;span class="codeInline"&gt;runtestall.bat short&lt;/span&gt;. Note that some tests require Dafny (see below). If you have not built Dafny yet, ignore the error messages for those tests. Let us know if something doesn&amp;#39;t succeed!&lt;/li&gt;
&lt;li&gt;(&lt;i&gt;Optional Step&lt;/i&gt;) If you want to change the parser, then you need to modify the grammar file (Source/Core/BoogiePL.atg) and run &lt;a href="http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/" class="externalLink"&gt;Coco/R&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. In order to do that, you will first need to get the &amp;quot;frame files&amp;quot; which Coco uses as input. Those are located on the &lt;a href="http://boogiepartners.codeplex.com/" class="externalLink"&gt;Boogie Partners&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; site.&lt;/li&gt;&lt;/ol&gt;

&lt;h2&gt;Dafny&lt;/h2&gt;First, build Boogie.  Then, in the Source directory, either open Dafny.sln in Visual Studio and build it, or else from a command prompt type &lt;span class="codeInline"&gt;devenv Dafny.sln /build Debug&lt;/span&gt;.&lt;br /&gt;
&lt;h2&gt;Chalice&lt;/h2&gt;To build Chalice, you need to have installed &lt;a href="http://www.scala-lang.org/" class="externalLink"&gt;Scala&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; and a JVM. In the Chalice directory, run &lt;span class="codeInline"&gt;nmake&lt;/span&gt; from a command prompt. To run the Chalice test suite, run &lt;span class="codeInline"&gt;test.bat&lt;/span&gt; in the Chalice directory. You might have to increase the stack size of the JVM to avoid a stack overflow, for instance by changing scala.bat by adding &amp;quot;-Xss16M&amp;quot; to the JAVA_OPTS: &lt;br /&gt;    if &amp;quot;%_JAVA_OPTS%&amp;quot;==&amp;quot;&amp;quot; set _JAVA_OPTS=-Xmx256M -Xms32M -Xss16M&lt;br /&gt;
&lt;h2&gt;BCT (Bytecode Translator)&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Currently, this can be installed and built completely separately from the rest of Boogie. If you do not have the rest of the Boogie sources installed, then install the Boogie binaries from the Downloads tab and copy them into the BCT/Imported/Boogie directory. If you have installed the Boogie sources and built them, you can either copy them from the Binaries directory there, or else change the references from the BytecodeTranslator project to point to the Boogie/Binaries directory.&lt;/li&gt;
&lt;li&gt;Install the sources for the &lt;a href="http://cciast.codeplex.com" class="externalLink"&gt;CCI Code and Ast Components&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project. The recommended structure is to put the project in a directory CCICodePlex/Ast.&lt;/li&gt;
&lt;li&gt;The project references to the CCI projects assume that the CCICodePlex directory is a sibling to the parent of the BCT directory. If this is not the case, then the project references to the CCI projects will appear unavailable in Visual Studio. You can remove them from the solution and add the following existing projects from wherever you installed the CCI sources. (You will also have to re-add them as external references to the BytecodeTranslator project.) 
&lt;ol&gt;&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Sources/CodeModel/CodeModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Sources/ILToCodeModel/ILToCodeModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/MetadataHelper/MetadataHelper.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/MetadataModel/MetadataModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Sources/MutableCodeModel/MutableCodeModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/MutableMetadataModel/MutableMetadataModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/PdbReader/PdbReader.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/PeReader/PeReader.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/SourceModel/SourceModel.csproj&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;Build the Debug configuration. If it doesn’t succeed, let us know!&lt;/li&gt;&lt;/ol&gt;

&lt;h2&gt;Visual Studio integration&lt;/h2&gt;You can edit Dafny and Chalice programs inside Microsoft Visual Studio 2010.  This gives you syntax highlighting and runs the verifier in the background, producing red squigglies for errors.  To install this mode, you need to build it, which is done in Visual Studio 2010.
&lt;ol&gt;&lt;li&gt;Install the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=47305cf4-2bea-43c0-91cd-1b853602dcc5&amp;amp;displaylang=en" class="externalLink"&gt;Visual Studio 2010 SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Open Util/VS2010/Dafny/DafnyLanguageService.sln (or the analogous .sln file for Chalice in a parallel directory) in Visual Studio 2010.&lt;/li&gt;
&lt;li&gt;Build the project, which should report &amp;quot;Succeeded&amp;quot;.  Quit Visual Studio.  Now, the Dafny (or Chalice) mode is available in the &lt;i&gt;experimental instance&lt;/i&gt; of Visual Studio 2010.  This experimental instance is part of the VS 2010 SDK you just installed.&lt;/li&gt;
&lt;li&gt;The integration calls out to Dafny (or Chalice) in a primitive fashion, namely by invoking c:\tmp\StartDafny.bat.  This path is currently hard coded, so create a directory c:\tmp and copy into it the file Util/VS2010/Dafny/StartDafny.bat.&lt;/li&gt;
&lt;li&gt;Finally, open the experimental instance of Visual Studio 2010 and open any file with the .dfy (or .chalice) extension.  You start it from Start -&amp;gt; All programs -&amp;gt; Microsoft Visual Studio 2010 SDK -&amp;gt; Tools.  (You may want to right-click on it and select Pin To Start Menu for easy access.)  &lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;There is currently no project support for Dafny and Chalice programs, so if you want to add extra command-line options to the verifier, you have to do that by changing the batch file.  Another limitation is that you have to create new .dfy files outside Visual Studio (you can then open them and edit them and save them inside Visual Studio, but you can&amp;#39;t do the initial creation from inside Visual Studio, because then Visual Studio wants to append .txt to the end of the filename you&amp;#39;re trying to create).&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikebarnett</author><pubDate>Wed, 01 Dec 2010 17:53:21 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Sources 20101201055321P</guid></item><item><title>Updated Wiki: Sources</title><link>http://boogie.codeplex.com/wikipage?title=Sources&amp;version=21</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;How to install and build the sources&lt;/h1&gt;
After downloading the sources via the &amp;quot;Source Code&amp;quot; tab, check to make sure you have any &lt;a href="http://boogie.codeplex.com/wikipage?title=External%20Dependencies&amp;referringTitle=Sources"&gt;External Dependencies&lt;/a&gt; that you need. Then use the following directions for the program(s) you want to build. Some of them have extra dependencies. Note:
&lt;ul&gt;&lt;li&gt;Some users have reported problems when working under cygwin due to unexpected access permissions and file ownership; we strongly recommend using the Visual Studio 2008 Command Prompt.&lt;/li&gt;
&lt;li&gt;The build process seems to work more smoothly if you start the build steps from the command line rather than Visual Studio.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Boogie&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Although Boogie is written in C# and so is compiled by the C# compiler, it retains (for now) a binary dependence on the Spec# binaries. These binaries are the ones checked into the Boogie/Binaries directory, so you should not have to do anything. We hope to remove these dependencies in the near future. This item is just to make you aware of the situation in case you run into any problems while building Boogie.&lt;/li&gt;
&lt;li&gt;To build Boogie: start by navigating to the Boogie/Source directory. Then either open Boogie.sln in Visual Studio and build the Debug configuration, or else from a command prompt type &lt;span class="codeInline"&gt;devenv Boogie.sln /build Debug&lt;/span&gt;. After building it, at a command prompt in the Test diretory, execute &lt;span class="codeInline"&gt;runtestall.bat short&lt;/span&gt;. Note that some tests require Dafny (see below). If you have not built Dafny yet, ignore the error messages for those tests. Let us know if something doesn&amp;#39;t succeed!&lt;/li&gt;
&lt;li&gt;(&lt;i&gt;Optional Step&lt;/i&gt;) If you want to change the parser, then you need to modify the grammar file (Source/Core/BoogiePL.atg) and run &lt;a href="http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/" class="externalLink"&gt;Coco/R&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. In order to do that, you will first need to get the &amp;quot;frame files&amp;quot; which Coco uses as input. Those are located on the &lt;a href="http://boogiepartners.codeplex.com/" class="externalLink"&gt;Boogie Partners&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; site.&lt;/li&gt;&lt;/ol&gt;

&lt;h2&gt;Dafny&lt;/h2&gt;First, build Boogie.  Then, in the Source directory, either open Dafny.sln in Visual Studio and build it, or else from a command prompt type &lt;span class="codeInline"&gt;devenv Dafny.sln /build Debug&lt;/span&gt;.&lt;br /&gt;
&lt;h2&gt;Chalice&lt;/h2&gt;To build Chalice, you need to have installed &lt;a href="http://www.scala-lang.org/" class="externalLink"&gt;Scala&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; and a JVM. In the Chalice directory, run &lt;span class="codeInline"&gt;nmake&lt;/span&gt; from a command prompt. To run the Chalice test suite, run &lt;span class="codeInline"&gt;test.bat&lt;/span&gt; in the Chalice directory. You might have to increase the stack size of the JVM to avoid a stack overflow, for instance by changing scala.bat by adding &amp;quot;-Xss16M&amp;quot; to the JAVA_OPTS: &lt;br /&gt;    if &amp;quot;%_JAVA_OPTS%&amp;quot;==&amp;quot;&amp;quot; set _JAVA_OPTS=-Xmx256M -Xms32M -Xss16M&lt;br /&gt;
&lt;h2&gt;BCT (Bytecode Translator)&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Currently, this can be installed and built completely separately from the rest of Boogie. If you do not have the rest of the Boogie sources installed, then install the Boogie binaries from the Downloads tab and copy them into the BCT/Imported/Boogie directory. If you have installed the Boogie sources and built them, you can either copy them from the Binaries directory there, or else change the references from the BytecodeTranslator project to point to the Boogie/Binaries directory.&lt;/li&gt;
&lt;li&gt;Install the sources for the &lt;a href="http://cciast.codeplex.com" class="externalLink"&gt;CCI Code and Ast Components&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project. The recommended structure is to put the project in a directory CCICodePlex/Ast.&lt;/li&gt;
&lt;li&gt;The project references to the CCI projects assume that the CCICodePlex directory is a sibling to the parent of the BCT directory. If this is not the case, then the project references to the CCI projects will appear unavailable in Visual Studio. You can remove them from the solution and add the following existing projects from wherever you installed the CCI sources. (You will also have to re-add them as external references to the BytecodeTranslator project.) 
&lt;ol&gt;&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Sources/CodeModel/CodeModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Sources/ILToCodeModel/ILToCodeModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/MetadataHelper/MetadataHelper.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/MetadataModel/MetadataModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Sources/MutableCodeModel/MutableCodeModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/MutableMetadataModel/MutableMetadataModel.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/PdbReader/PdbReader.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/PeReader/PeReader.csproj&lt;/li&gt;
&lt;li&gt;&lt;i&gt;CCIROOT&lt;/i&gt;/Ast/Metadata/Sources/SourceModel/SourceModel.csproj&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;Build the Debug configuration. If it doesn’t succeed, let us know!&lt;/li&gt;&lt;/ol&gt;

&lt;h2&gt;Visual Studio integration&lt;/h2&gt;You can edit Dafny and Chalice programs inside Microsoft Visual Studio 2010.  This gives you syntax highlighting and runs the verifier in the background, producing red squigglies for errors.  To install this mode, you need to build it, which is done in Visual Studio 2010.
&lt;ol&gt;&lt;li&gt;Install the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=47305cf4-2bea-43c0-91cd-1b853602dcc5&amp;amp;displaylang=en" class="externalLink"&gt;Visual Studio 2010 SDK&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Open Util/VS2010/Dafny/DafnyLanguageService.sln (or the analogous .sln file for Chalice in a parallel directory) in Visual Studio 2010.&lt;/li&gt;
&lt;li&gt;Build the project, which should report &amp;quot;Succeeded&amp;quot;.  Quit Visual Studio.  Now, the Dafny (or Chalice) mode is available in the &lt;i&gt;experimental instance&lt;/i&gt; of Visual Studio 2010.  This experimental instance is part of the VS 2010 SDK you just installed.&lt;/li&gt;
&lt;li&gt;The integration calls out to Dafny (or Chalice) in a primitive fashion, namely by invoking c:\tmp\StartDafny.bat.  This path is currently hard coded, so create a directory c:\tmp and copy into it the file Util/VS2010/Dafny/StartDafny.bat.&lt;/li&gt;
&lt;li&gt;Finally, open the experimental instance of Visual Studio 2010 and open any file with the .dfy (or .chalice) extension.  You start it from Start -&amp;gt; All programs -&amp;gt; Microsoft Visual Studio 2010 SDK -&amp;gt; Tools.  (You may want to right-click on it and select Pin To Start Menu for easy access.)  &lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;There is currently no project support for Dafny and Chalice programs, so if you want to add extra command-line options to the verifier, you have to do that by changing the batch file.  Another limitation is that you have to create new .dfy files outside Visual Studio (you can then open them and edit them and save them inside Visual Studio, but you can&amp;#39;t do the initial creation from inside Visual Studio, because then Visual Studio wants to append .txt to the end of the filename you&amp;#39;re trying to create).&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>mikebarnett</author><pubDate>Tue, 09 Nov 2010 19:45:51 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Sources 20101109074551P</guid></item></channel></rss>