summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Updated the frame files to work with the latest Coco/R. This entails *not* ↵Gravatar mikebarnett2010-06-22
| | | | | | having them in this repository because of license issues. Instead, they must be downloaded from http://boogiepartners.codeplex.com/ and then copied into the appropriate directories. Lots of code changes to compensate for the new frame files.
* Boogie:Gravatar rustanleino2010-06-22
| | | | | | | | | * Set Z3's QI_COST as the sum of "weight" and "generation", not their product. This worked better when setting the :weight of a quantifier (see below). Dafny: * Improved axiomatization of sequences; in particular, use an axiom to generate terms that say what the two pieces of a concatenation are * Two of the (previous) sequence axioms could cause a matching loop, in cases where Z3's arithmetic reasoning does not infer all rational arithmetic equalities during instantiation. The effect of this was apparently not noticed before, perhaps the concatenation/drop properties previously had to be supplied in manual assert statements. But now, with the improved sequence axiomatization (see previous bullet), this effect became remarkably noticeable. To reduce the bad effect of this apparent matching loop, Michal and I added a :weight annotation on two of the axioms, which, along with the Boogie change above, seems to give acceptable results. * Removed several assert lemmas that are no longer needed in Test programs (the test programs now contain only about a handful of such lemmas)
* VIM syntax file for BPL. I just had it laying around.Gravatar MichalMoskal2010-06-21
|
* A simple highlighting syntax file for Vim.Gravatar kyessenov2010-06-21
|
* Dafny:Gravatar rustanleino2010-06-19
| | | | | | * Improved design and implementation of SplitExpr * Fixed some tests in dafny0/Use.dfy * Added test case (in dafny0/Termination.dfy) to test the recent strengthening of set axioms
* Dafny:Gravatar rustanleino2010-06-18
| | | | | | * Added some more set axioms that go "inside out" for union and set differences (UnionOne already had such an axiom) * Fixed bug to, once again, allow multiple .dfy files on the command line (with the effect of them being merged into one program) * Fixed bug in translation of reads/modifies clauses that mention sequences
* Added the factory pattern so that all traversers are created through factory ↵Gravatar mikebarnett2010-06-16
| | | | | | | methods. This is the beginning of allowing plugins to perform methodology-specific translations. Added a CLR traverser that is meant to encode the CLR semantics. For now it just does one thing: add the assertion that a divisor should not be zero. Added an MS Test project so that we can use that for regression testing.
* Derive IsabelleContext from DeclFreeProverContextGravatar stobies2010-06-16
|
* Improved error messages for doomed program points.Gravatar schaef2010-06-15
|
* Dafny:Gravatar rustanleino2010-06-14
| | | | | * changed implementation of Test/VSI-Benchmarks/b4.dfy to be more interesting (and, in particular, different from the specification) * reformatted Test/VSI-Benchmarks/b3.dfy
* Dafny: Added two additional heuristics for guessing missing loop decreases ↵Gravatar rustanleino2010-06-11
| | | | clauses (for loop guard A!=B and for loop guards with multiple conjuncts)
* fixed a compiler warning about initialization of a non-null field inside the ↵Gravatar qadeer2010-06-10
| | | | LoopUnroll constructor
* Dafny: Another bug fix in SplitExpr, having to do with generic results of ↵Gravatar rustanleino2010-06-09
| | | | function calls
* Chalice: fixed bug in the exhale of permissions (to handle negative epsilons)Gravatar mueller2010-06-09
|
* Dafny: Fix type bug in SplitExpr translation.Gravatar rustanleino2010-06-08
|
* Dafny: For functions with an empty decreases clause that use the reads ↵Gravatar rustanleino2010-06-08
| | | | clause instead, do not include wildcards.
* Boogie:Gravatar rustanleino2010-06-08
| | | | | | | | | * Look for Z3 versions up to 2.15 (but did not implement a better algorithm for it). * Added prover-path output as part of /trace flag (that probably isn't the best command-line option for it). Dafny: * Split off some tests from Test/dafny0 into Test/dafny1. * Added Test/dafny1/UltraFilter.dfy.
* Consistently use the new code pattern for translating locations to tokens ↵Gravatar mikebarnett2010-06-07
| | | | and putting the expression translation into a separate method.
* Added forgotten file.Gravatar mikebarnett2010-06-06
|
* Updated the project to .NET v4.0.Gravatar mikebarnett2010-06-06
| | | | | | | | Added helper methods to the statement traverser. Handle ILocalDeclarationStatement, IAssertStatement, IAssumeStatement in StatementTraverser. Handle simple logical-and and logical-or expressions in ExpressionTraverser. Inject assertion that divisor is non-zero for IDivision in ExpressionTraverser. Added static variable BCT.Host so all parts of translation can access the CCI Metadata host.
* Dafny:Gravatar rustanleino2010-06-05
| | | | | | * Fixed bug in translation of well-formedness conditions * Added Test/dafny0/Celebrity.dfy * Added a harness to Test/vacid0/Composite.dfy
* added lazyinline to the regressionsGravatar qadeer2010-05-28
|
* Updated to find the latest version of Z3 (2.7) and made the algorithm ↵Gravatar wuestholz2010-05-28
| | | | slightly more robust.
* changed the behavior of /loopUnroll:n so that the parameter n is applied per ↵Gravatar qadeer2010-05-26
| | | | SCC.
* Dafny: Allow < and > for comparisons of datatype values (which then compares ↵Gravatar rustanleino2010-05-21
| | | | their ranks)
* Dafny:Gravatar rustanleino2010-05-21
| | | | | | | * Added arrays * Beefed up set axiomatization to know more things about set displays * Added a simple heuristic that can infer some simple decreases clauses for loops * Added Dafny solutions to a couple of VACID benchmarks
* Dafny: Fixed crash in parser (that occurred when the Dafny input had a ↵Gravatar rustanleino2010-05-18
| | | | particular parsing error).
* Script that gathers the files for the binary distribution Boogie.zip.Gravatar rustanleino2010-05-17
|
* Boogie:Gravatar rustanleino2010-05-15
| | | | | | | | | | * Added support for polymorphism in lambda expressions * Little clean-up here and there * Added 'then' keyword to emacs and latex modes Dafny: * Added support for fine-grained framing, using the back-tick syntax from Region Logic * Internally, changed checking of reads clauses to use a local variable $_Frame, analogous to the $_Frame variable used in checking modifies clauses
* Dafny:Gravatar rustanleino2010-05-13
| | | | | * Effectively make all in- and out-parameters of ghost methods ghosts. * Added DafnyRuntime.cs back in, which is needed to run Dafny programs, but which, unfortunately, is currently not being used in the test suite (something we should address)
* Changed the 'svn:ignore' property of /Binaries such that ALL currently not ↵Gravatar mschwerhoff2010-05-12
| | | | svn-added files are ignored. Currently added are only the files that are not generated during the build process (e.g. Makefile, FSharp.Core.dll), hence all files generated during the build process won't be committed.
* BCT: Added prelude. Started test1 as a test of verification.Gravatar rustanleino2010-05-12
|
* Dafny:Gravatar rustanleino2010-05-08
| | | | | Previously, a "use" function was one whose definition was applied only in limited ways, namely when the function was uttered in a program (possibly in a "use" statement). Now, recursive functions are always limited, unless declared with the new modifier "unlimited". Non-recursive functions are always unlimited. Also new is that only function calls within the same SCC of the call graph use the limited form of the callee. The "use" modifier is no longer supported. The "use" statement is still supported, now for both limited and unlimited functions; but it's probably better and easier to just explicitly mention a function in an assertion, if needed.
* Dafny:Gravatar rustanleino2010-05-06
| | | | | * Recoded frame axioms to be more goal directed * Added Main test driver to Test/VSI-Benchmarks/b2.dfy
* Dafny:Gravatar rustanleino2010-05-06
| | | | | | | | * First crack at a compiler (/compile:1 writes out.cs, if Dafny program verifies) * Added "print" statement (to make running compiled programs more interesting) * Changed name of default class from $default to _default Boogie: * Included "lambda" as a keyword in emacs and latex style files
* Added another option for lazy inlining based on macro expansion. This ↵Gravatar qadeer2010-05-03
| | | | option is activated by /lazyInline:2. The original method is activated by /lazyInline:1.
* Updated to find the latest version of Z3 (2.6).Gravatar wuestholz2010-05-02
|
* 1. Fixed lazy inlining implementation so that inlined procedures use live ↵Gravatar qadeer2010-04-30
| | | | | | variable analysis as well 2. Separeted model printing from the lazy inlining option
* 1. couple of bug fixes in interprocedural error trace generationGravatar qadeer2010-04-23
| | | | 2. added facility for giving weights to the generated quantifiers for lazy inlining; however, left the weights at default 1.
* Added callee args information to calleeCounterexamplesGravatar qadeer2010-04-21
|
* Fixed bug in translation of select/store arguments that are BooleanGravatar qadeer2010-04-20
|
* Fixed bug in interprocedural counterexample generationGravatar qadeer2010-04-19
|
* 1. Fixed an off-by-one error in parsing array partitions in Z3 modelsGravatar qadeer2010-04-19
| | | | | 2. Added code for printing array partitions 3. Set UseAbstractInterpretation=false in case lazy inlining is being used
* Forgotten to turn the echo off.Gravatar mikebarnett2010-04-19
|
* Updated list of tests to just include test0.Gravatar mikebarnett2010-04-19
|
* New, simpler way of running regressions.Gravatar mikebarnett2010-04-19
|
* Fixed a bug. Call RegisterType before the collection of Select and Store ↵Gravatar qadeer2010-04-19
| | | | functions in TypeDeclCollector.
* First cut of lazy inlining. The option can be turned on by the flag ↵Gravatar qadeer2010-04-17
| | | | /lazyInline:1. It is off by default. This option currently does not support loops and recursion and also does not allow assertions and specifications in inlined procedures. The usage is currently not documented.
* Moved BCT project references for Boogie to the Boogie\Binaries directory.Gravatar rustanleino2010-04-16
|
* Upgraded solution file and project file to VS2010.Gravatar mikebarnett2010-04-16
|