boogie-2.3.0.61016+dfsg+3.gbp1f2d6c1/ 0000775 0000000 0000000 00000000000 13005251205 0016240 5 ustar 00root root 0000000 0000000 boogie-2.3.0.61016+dfsg+3.gbp1f2d6c1/.gitattributes 0000664 0000000 0000000 00000002130 13005251205 0021127 0 ustar 00root root 0000000 0000000 # Autodetect text files and ensure that we normalise their
# line endings to lf internally. When checked out they may
# use different line endings.
* text=auto
# Check out with crlf (Windows) line endings
*.sln text eol=crlf
*.csproj text eol=crlf
*.cs text diff=csharp eol=crlf
*.fs text eol=crlf
*.fsproj text eol=crlf
*.fsy text eol=crlf
*.fsl text eol=crlf
*.resx text eol=crlf
*.vsixmanifest text eol=crlf
*.atg text eol=crlf
version.ssc text eol=crlf
packages.config text eol=crlf
App.config text eol=crlf
Build/updateVersionFile.xml text eol=crlf
*.bat text eol=crlf
*.cmd text eol=crlf
*.snippet text eol=crlf
# Check out with lf (UNIX) line endings
*.sh text eol=lf
*.py text eol=lf
Makefile text eol=lf
.gitignore text eol=lf
.gitattributes text eol=lf
*.el text eol=lf
*.sty text eol=lf
*.vim text eol=lf
lit.site.cfg text eol=lf
lit.local.cfg text eol=lf
*.expect text eol=lf
*.md text eol=lf
.travis.yml text eol=lf
# For the remaining files the line endings of checked out
# files is defined by the ``core.eol`` git config variable.
# By default this is the native line ending for the platform.
boogie-2.3.0.61016+dfsg+3.gbp1f2d6c1/.gitignore 0000664 0000000 0000000 00000000717 13005251205 0020235 0 ustar 00root root 0000000 0000000 # Nuget
Source/packages/*
# Tests
Source/UnitTests/TestResult.xml
Source/UnitTests/*/bin
Source/UnitTests/*/obj
Test/*/Output
TestResult.xml
# Binaries
Source/*/bin
Source/*/obj
Source/Provers/*/bin
Source/Provers/*/obj
Binaries/*.dll
Binaries/*.mdb
Binaries/*.exe
Binaries/*.pdb
Binaries/*.config
# Editor temporary files
.*.swp
# Visual Studio files
Source/_ReSharper.Boogie
Source/Provers/*/*.user
Source/*/*.user
Source/*.user
Source/*.suo
Source/*.cache
boogie-2.3.0.61016+dfsg+3.gbp1f2d6c1/.travis.yml 0000664 0000000 0000000 00000002323 13005251205 0020351 0 ustar 00root root 0000000 0000000 # vim: set sw=2 ts=2 softtabstop=2 expandtab:
language: csharp
sudo: true
solution: "Source/Boogie.sln"
env:
- BOOGIE_CONFIG=Debug
- BOOGIE_CONFIG=Release
install:
- wget http://download.opensuse.org/repositories/home:delcypher:z3/xUbuntu_12.04/Release.key
- sudo apt-key add - < Release.key
# Use Z3 package built by the OpenSUSE build service https://build.opensuse.org/package/show/home:delcypher:z3/z3
- sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/delcypher:/z3/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/z3.list"
- sudo apt-get update
# NuGet is a little flakey in legacy TravisCI, use travis_retry command to retry the command if it fails
- travis_retry nuget restore ${TRAVIS_SOLUTION}
# Install Z3 executable
- sudo apt-get -y install 'z3=4.4.1-*'
# Install needed python tools
- sudo pip install lit OutputCheck pyyaml
- mkdir -p Source/packages && cd Source/packages && travis_retry nuget install NUnit.Runners -Version 2.6.3
- cd ../../
script:
- xbuild /p:Configuration=${BOOGIE_CONFIG} ${TRAVIS_SOLUTION}
# Run unit tests
- python Source/UnitTests/run-unittests.py ${BOOGIE_CONFIG}
# Run driver tests
- ln -s /usr/bin/z3 Binaries/z3.exe
- lit -v Test/
boogie-2.3.0.61016+dfsg+3.gbp1f2d6c1/Binaries/ 0000775 0000000 0000000 00000000000 13005251205 0017774 5 ustar 00root root 0000000 0000000 boogie-2.3.0.61016+dfsg+3.gbp1f2d6c1/Binaries/Boogie.vshost.exe.manifest 0000664 0000000 0000000 00000000737 13005251205 0025044 0 ustar 00root root 0000000 0000000 
boogie-2.3.0.61016+dfsg+3.gbp1f2d6c1/Binaries/PrepareBoogieZip.bat 0000664 0000000 0000000 00000002475 13005251205 0023702 0 ustar 00root root 0000000 0000000 @echo off
setlocal
set DEST_DIR=export
if exist %DEST_DIR% del /q %DEST_DIR%\*
if not exist %DEST_DIR% mkdir %DEST_DIR%
for %%f in (
BoogieAbsInt.dll BoogieAbsInt.pdb
BoogieBasetypes.dll BoogieBasetypes.pdb
Boogie.exe Boogie.pdb
BVD.exe BVD.pdb
BoogieCodeContractsExtender.dll BoogieCodeContractsExtender.pdb
BoogieCore.dll BoogieCore.pdb
BoogieDoomed.dll BoogieDoomed.pdb
BoogieGraph.dll BoogieGraph.pdb
BoogieHoudini.dll BoogieHoudini.pdb
BoogieModel.dll BoogieModel.pdb
BoogieParserHelper.dll BoogieParserHelper.pdb
BoogiePredication.dll BoogiePredication.pdb
Provers.SMTLib.dll Provers.SMTLib.pdb
UnivBackPred2.smt UnivBackPred2.smt2
BoogieVCExpr.dll BoogieVCExpr.pdb
BoogieVCGeneration.dll BoogieVCGeneration.pdb
) do (
copy %%f %DEST_DIR%
)
xcopy /E /I /Y CodeContracts "%DEST_DIR%/CodeContracts"
echo Done. Now, manually put the contents of the %DEST_DIR% directory into Boogie.zip
boogie-2.3.0.61016+dfsg+3.gbp1f2d6c1/LICENSE.txt 0000664 0000000 0000000 00000005106 13005251205 0020065 0 ustar 00root root 0000000 0000000 Microsoft Public License (Ms-PL)
This license governs use of the accompanying software. If you use the software,
you accept this license. If you do not accept the license, do not use the
software.
1. Definitions
The terms "reproduce," "reproduction," "derivative works," and "distribution"
have the same meaning here as under U.S. copyright law.
A "contribution" is the original software, or any additions or changes to the
software.
A "contributor" is any person that distributes its contribution under this
license.
"Licensed patents" are a contributor's patent claims that read directly on its
contribution.
2. Grant of Rights
(A) Copyright Grant- Subject to the terms of this license, including the license
conditions and limitations in section 3, each contributor grants you a
non-exclusive, worldwide, royalty-free copyright license to reproduce its
contribution, prepare derivative works of its contribution, and distribute its
contribution or any derivative works that you create.
(B) Patent Grant- Subject to the terms of this license, including the license
conditions and limitations in section 3, each contributor grants you a
non-exclusive, worldwide, royalty-free license under its licensed patents to
make, have made, use, sell, offer for sale, import, and/or otherwise dispose of
its contribution in the software or derivative works of the contribution in the
software.
3. Conditions and Limitations
(A) No Trademark License- This license does not grant you rights to use any
contributors' name, logo, or trademarks.
(B) If you bring a patent claim against any contributor over patents that you
claim are infringed by the software, your patent license from such contributor
to the software ends automatically.
(C) If you distribute any portion of the software, you must retain all
copyright, patent, trademark, and attribution notices that are present in the
software.
(D) If you distribute any portion of the software in source code form, you may
do so only under this license by including a complete copy of this license with
your distribution. If you distribute any portion of the software in compiled or
object code form, you may only do so under a license that complies with this
license.
(E) The software is licensed "as-is." You bear the risk of using it. The
contributors give no express warranties, guarantees or conditions. You may have
additional consumer rights under your local laws which this license cannot
change. To the extent permitted under your local laws, the contributors exclude
the implied warranties of merchantability, fitness for a particular purpose and
non-infringement.
boogie-2.3.0.61016+dfsg+3.gbp1f2d6c1/README.md 0000664 0000000 0000000 00000007362 13005251205 0017527 0 ustar 00root root 0000000 0000000 # Boogie
## Build Status
| Linux | Windows |
|-------------------------------|---------------------------------|
| [![linux build status][1]][2] | [![windows_build_status][3]][4] |
[1]: https://travis-ci.org/boogie-org/boogie.svg?branch=master
[2]: https://travis-ci.org/boogie-org/boogie
[3]: https://pmbuilds.inf.ethz.ch/buildStatus/icon?job=boogie
[4]: #FIXME
## About
Boogie is an intermediate verification language (IVL), intended as a layer on which
to build program verifiers for other languages. Several program verifiers have
been built in this way, including the VCC and HAVOC verifiers for C and the
verifiers for Dafny, Chalice, and Spec#. A previous version of the language was
called BoogiePL. The current language (version 2) is currently known as just
Boogie, which is also the name of the verification tool that takes Boogie
programs as input.
Boogie is also the name of a tool. The tool accepts the Boogie language as
input, optionally infers some invariants in the given Boogie program, and then
generates verification conditions that are passed to an SMT solver. The default
SMT solver is [Z3](https://github.com/Z3Prover/z3).
The Boogie research project is being developed primarily in the [RiSE
group](http://research.microsoft.com/rise) at [Microsoft
Research](http://research.microsoft.com/) in Redmond. However, people at
several other institutions make the open-source Boogie tool what it is.

More documentation can be found at http://boogie-docs.readthedocs.org/en/latest/ .
## Language Reference
See [Language reference](http://boogie-docs.readthedocs.org/en/latest/LangRef.html).
Note: [This is Boogie2](http://research.microsoft.com/en-us/um/people/leino/papers/krml178.pdf) details
many aspects of the Boogie IVL but is slightly out of date.
## Getting help
We have a public [mailing list](https://mailman.ic.ac.uk/mailman/listinfo/boogie-dev) for users of Boogie.
You can also report issues on our [issue tracker](https://github.com/boogie-org/boogie/issues)
## Building
### Requirements
- [NuGet](https://www.nuget.org/)
- [Z3](https://github.com/Z3Prover/z3) 4.4.1 or [CVC4](http://cvc4.cs.nyu.edu/web/) **FIXME_VERSION** (note
CVC4 support is experimental)
#### Windows specific
- Visual Studio >= 2012
#### Linux/OSX specific
- Mono
### Windows
1. Open ``Source\Boogie.sln`` in Visual Studio
2. Right click the ``Boogie`` solution in the Solution Explorer and click ``Enable NuGet Package Restore``.
You will probably get a prompt asking to confirm this. Choose ``Yes``.
3. Click ``BUILD > Build Solution``.
### Linux/OSX
You first need to fetch the NuGet packages that Boogie depends on. If you're doing this on the command line run
```
$ cd /path/to/repository
$ wget https://nuget.org/nuget.exe
$ mono ./nuget.exe restore Source/Boogie.sln
```
Note if you're using MonoDevelop it has a NuGet plug-in which you can use to "restore" the packages needed by Boogie.
Note if you see an error message like the following
```
WARNING: Error: SendFailure (Error writing headers)
Unable to find version '2.6.3' of package 'NUnit.Runners'.
```
then you need to initialise Mono's certificate store by running
```
$ mozroots --import --sync
```
then you can build by running
```
$ xbuild Source/Boogie.sln
```
Finally make sure there is a symlink to Z3 in the Binaries directory
(replace with ``cvc4`` if using CVC4 instead).
```
$ ln -s /usr/bin/z3 Binaries/z3.exe
```
You're now ready to run Boogie!
## Testing
Boogie has two forms of tests. Driver tests and unit tests
### Driver tests
See the [Driver test documentation](Test/README.md)
### Unit tests
See the [Unit test documentation](Source/UnitTests/README.md)
boogie-2.3.0.61016+dfsg+3.gbp1f2d6c1/Source/ 0000775 0000000 0000000 00000000000 13005251205 0017500 5 ustar 00root root 0000000 0000000 boogie-2.3.0.61016+dfsg+3.gbp1f2d6c1/Source/AIFramework/ 0000775 0000000 0000000 00000000000 13005251205 0021647 5 ustar 00root root 0000000 0000000 boogie-2.3.0.61016+dfsg+3.gbp1f2d6c1/Source/AIFramework/AIFramework.csproj 0000664 0000000 0000000 00000024706 13005251205 0025251 0 ustar 00root root 0000000 0000000 
DebugAnyCPU9.0.210222.0{39B0658D-C955-41C5-9A43-48C97A1EF5FD}LibraryPropertiesAIFrameworkAIFrameworkv4.05121true..\InterimKey.snk3.5publish\trueDiskfalseForeground7Daysfalsefalsetrue01.0.0.%2afalsefalsetrueClienttruefullfalsebin\Debug\DEBUG;TRACEprompt4FalseFalseTrueFalseFalseFalseFalseFalseFalseFalseFalseTrueFalseFalseFalseFull%28none%29AllRules.rulesetpdbonlytruebin\Release\TRACEprompt4AllRules.rulesettruebin\z3apidebug\DEBUG;TRACEfullAnyCPUtrueGlobalSuppressions.cspromptMigrated rules for AIFramework.rulesettruetruebin\Checked\DEBUG;TRACEfullAnyCPUbin\Debug\AIFramework.dll.CodeAnalysisLog.xmltrueGlobalSuppressions.cspromptAllRules.ruleset;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\RulesTrueFalseTrueFalseFalseFalseFalseFalseFalseFalseFalseFalseTrueFalseFalseFalseFalseFullBuild0
version.cs
{43DFAD18-3E35-4558-9BE2-CAFF6B5BA8A0}Basetypes{ACCC0156-0921-43ED-8F67-AD8BDC8CDE31}CodeContractsExtenderFalse.NET Framework 3.5 SP1 Client ProfilefalseFalse.NET Framework 3.5 SP1trueFalseWindows Installer 3.1true