summaryrefslogtreecommitdiff
path: root/Source
Commit message (Collapse)AuthorAge
* print attributes in AssertCmd.EmitGravatar mkawa2009-12-02
|
* Added code to (once again) print out prover warnings (under the ↵Gravatar rustanleino2009-11-26
| | | | /proverWarning switch).
* * Added decreases clauses to functionsGravatar rustanleino2009-11-24
| | | | | | | | | | | | | | | | | | | | * If no decreases clause is given, the decreases clause defaults to the set of objects denoted by the reads clause, which was the previous Dafny behavior * Made Dafny check loops for termination by default. Previously, this was done only if the loop had a decreases clause. To indicate that a loop is to be checked only for partial correctness, Dafny now allows "decreases *". * Allow "reads *" to say that the function may read anything at all (sound, but not very useful) * Adjusted frame axioms of functions to speak of allocated objects more liberally; and also added antecedents about the heaps being well-formed and the parameters being allocated * Added some previously omitted well-definedness checks. * Fixed some bugs in the resolver that caused some type errors not to be reported * Added some messages to go with some (previously rather opaquely reported) errors * Fixed some test cases that previously had ordered conjuncts incorrectly to prove termination and reads checks (such checks were previously omitted) * Beefed up Test/dafny0/SchorrWaite.dfy to use datatypes to specify that no garbage gets marked. The full-functional total-correctness verification of this Schorr-Waite method now takes about 3.2 seconds.
* Added resolution and translation of algebraic datatypes and (in function ↵Gravatar rustanleino2009-11-20
| | | | | | bodies) match expressions. Addressed a couple of todos, including checking the well-formedness of quantifiers and if-then-else expressions in function bodies.
* (no commit message)Gravatar schaef2009-11-20
|
* Support {:PossiblyUnreachable} attribute on assertsGravatar MichalMoskal2009-11-20
|
* Fixed bug in inlining (procedure *definitions* had been traversed by ↵Gravatar rustanleino2009-11-19
| | | | | | StandardVisitor while visiting commands). This solves Issue #6266.
* doomed stuff: minor bug fixes / improved output / more test casesGravatar schaef2009-11-19
|
* modified the doom checking. It is now able to report only the relevant ↵Gravatar schaef2009-11-18
| | | | statements and writes them the stdout. Line numbers are only displayed for bpl input.
* Start (some parsing and resolution) of adding algebraic datatypes to Dafny.Gravatar rustanleino2009-11-08
| | | | Included VSI-Benchmarks in standard tests.
* Fixes crash when modifies set includes a variable twice.Gravatar mkawa2009-11-07
|
* Added a sequence update expression in Dafny.Gravatar rustanleino2009-11-06
|
* Redesigned the encoding of Dafny generics, including the built-in types set ↵Gravatar rustanleino2009-11-06
| | | | | | | | | | | | and seq. Regrettably, these changes--although improvements in Dafny's functionality--have caused Test/dafny0/BinaryTree.bpl and Test/dafny0/SchorrWaite.dfy to be significantly slower (the dafny0 test directory now takes 6:11 whereas it used to take 1:43). Improved some of the VSI-Benchmarks to use generics more fully, where the previous designed had just crashed. Included the previously commented-out loop invariants and assertions in VSI-Benchmarks/b8.dfy. Added a space in the pretty printing of Boogie coercion expressions.
* The Dafny call statement now automatically declares left-hand sides as local ↵Gravatar rustanleino2009-11-05
| | | | variables, if they were not already local variables.
* Introduced operator !in in Dafny. An expression "x !in S" is equivalent to ↵Gravatar rustanleino2009-11-05
| | | | | | | "!(x in S)". Changed Dafny test files to use the new operator. Included the file b8.dfy into the VSI-Benchmarks test harness.
* Look for Boogie.exe also in Program Files (x86)Gravatar MichalMoskal2009-11-03
|
* vc:doomed does not use the console anymore to report resultsGravatar schaef2009-11-02
| | | | | | added first test cases for doomed (including the ones from smoke) minor bug fixes minor speed-ups
* Fixed PreLoopHeap counting bug.Gravatar rustanleino2009-10-31
|
* Use the new F# names for bigint typeGravatar MichalMoskal2009-10-30
|
* Fixed problem where Dafny filenames with unusual characters in filenames had ↵Gravatar rustanleino2009-10-29
| | | | | | caused malformed Boogie and malformed VCs. In particular, the problem arose in the CEV $file_name_is declarations. Such characters are now replaced by a percent sign followed by a four-digit hexadecimal number representing the Unicode value of the character. This fixes issue #6057.
* Changed how Boogie looks for Z3: first look in the directory where Boogie ↵Gravatar rustanleino2009-10-14
| | | | | | is being executed from, then look in "c:\Program Files\Microsoft Research\Z3-2.x\bin" for x := 5,4,3,2,1,0. This fixes Issue Tracker item 5446.
* Evidently, Z3 does not like QID's to start with a digit. If a Boogie ↵Gravatar rustanleino2009-10-14
| | | | | | filename starts with a digit, don't just prepend it to a QID, but prepend another character ('_') first. This fixes issue 5278 in the Issue Tracker.
* Fixed bugs in inlining, and added a test case.Gravatar rustanleino2009-10-14
| | | | This solves issue 5742, as reported in the MSR Boogie Issue Tracker on Codeplex.
* In the TypeDeclCollector, call RegisterType for the bound variables in a ↵Gravatar stobies2009-10-12
| | | | quantifier. This makes sure that we get the proper DEFTYPEs for bit vector variables, even when they are not used in operator expressions. Fixes issue #5741.
* Added /z3lets switch, which governs which kinds of LET expressions are sent ↵Gravatar rustanleino2009-10-04
| | | | to Z3. By default, both LET TERM and LET FORMULA expressions are used. Mode /z3lets:2 uses only LET FORMULA, which works around a current Z3 issue with LET expressions and nested quantifiers.
* Handle new Z3 'Memout' message.Gravatar stobies2009-09-30
|
* Fixed some bugs in the generation of bitvector input for Z3.Gravatar rustanleino2009-09-29
| | | | Deleted/ignored some binaries in the Binaries directory.
* Use type-erased result type to make decision about whether or not to include ↵Gravatar rustanleino2009-09-27
| | | | antecedent in select-of-store axioms (fixing an error in my previous check-in).
* Optimized the number of Z3 queries in doomed program point detection.Gravatar schaef2009-09-25
|
* Added antecedent to select-of-store axioms to make them sound even when ↵Gravatar rustanleino2009-09-24
| | | | triggers are ignored.
* Added /z3multipleErrors flag for generation of multiple counterexamples per ↵Gravatar mkawa2009-09-23
| | | | assert (switches off z3's /@ flag).
* * Boogie and Dafny: added /cev:<file> optionGravatar rustanleino2009-09-15
| | | | | * SscBoogie: changed default setting for /modifiesOnLoop (we really should move this SscBoogie-specific code to the Spec# codeplex)
* Dafny: Added axioms for division and modulo.Gravatar rustanleino2009-09-15
| | | | | Dafny: Make use of function preconditions in function well-definedness checks. Chalice: Changed old "install" to current "reorder" keyword in Emacs mode.
* Dafny:Gravatar rustanleino2009-09-14
| | | | | | | | * Added DeclType(f)==C axioms, which for each field f says which class declares it. Boogie: * Changed behavior of free loop invariants. Now, a free loop invariant is ignored on the checking side, just like for free requires and free ensures. The new switch /alwaysAssumeFreeLoopInvariants flag gives the previous behavior. * NOTE: I did NOT yet make the corresponding change for loop unrolling, but it is needed.
* Report prover warnings during smoke test via the VerifierCallbackGravatar stobies2009-09-07
|
* Use callback mechanism to report prover warnings; do not just write them to ↵Gravatar stobies2009-09-07
| | | | stdout/stderr
* Renaming ExtractExpr into BvExtractExpr to fit naming scheme of the other ↵Gravatar stobies2009-09-07
| | | | bitvector operations
* Full (?) support in Dafny for Counterexample Visualizer predicates.Gravatar rustanleino2009-08-19
|
* Improve token-dumping in the inspector interfaceGravatar MichalMoskal2009-08-18
|
* Also sign AbsInt.dllGravatar stobies2009-08-18
|
* Sign assembliesGravatar stobies2009-08-17
|
* Incorporated Counterexample Visualizer (CEV) information in the generated ↵Gravatar rustanleino2009-08-15
| | | | Boogie.
* Fixed bug where the remove-empty-blocks optimization had not updated the ↵Gravatar rustanleino2009-08-13
| | | | start block. Now it does. After the remove-empty-blocks optimization, the only possibly empty block is the start block. That is, the optimization does not change the name of the start block.
* Changes needed in order to build Boogie using a freshly built Spec# compiler ↵Gravatar mikebarnett2009-08-10
| | | | and not just the LKG.
* Fixed problem where nullary function with definition had caused a crash.Gravatar rustanleino2009-08-07
|
* Fixed bug that used != instead of == in one translation of fresh.Gravatar rustanleino2009-08-06
|
* Made trigger more liberal for int_2_U U_2_int axiom.Gravatar rustanleino2009-07-30
|
* Deleting another stray file.Gravatar mikebarnett2009-07-15
|
* Deleting the individual user options files.Gravatar mikebarnett2009-07-15
|
* Initial set of files.Gravatar mikebarnett2009-07-15