summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Dafny: Added support for attributes on method/constructor calls.Gravatar wuestholz2011-12-21
|
* Dafny: for a datatype with just one constructor, don't check (but do assume) ↵Gravatar Rustan Leino2011-12-19
| | | | that destructors are applied only to those values constructed by that one-and-only constructor
* Dafny: compile to .exe only if there is a Main method; otherwise, compile to ↵Gravatar Rustan Leino2011-12-19
| | | | a .dll
* Dafny: Made sure that error locations refer to the Dafny program, even if ↵Gravatar wuestholz2011-12-15
| | | | the /print option is used.
* Dafny: Added support for attributes on various specification constructs ↵Gravatar wuestholz2011-12-07
| | | | (assert, ensures, modifies, decreases, invariant).
* Dafny: implemented thresholds for the new interval domain (/infer:j)Gravatar Rustan Leino2011-12-12
|
* Dafny: fix bug in translation of (the splitting of) if-then-else expressions ↵Gravatar Rustan Leino2011-12-10
| | | | (see bug report Issue 10214 on codeplex)
* Dafny: corrected merge snafusGravatar Rustan Leino2011-12-07
|
* Dafny: reran Coco on merged Dafny.atgGravatar Rustan Leino2011-12-07
|
* MergeGravatar Rustan Leino2011-12-07
|\
* \ MergeGravatar Rustan Leino2011-12-07
|\ \
| * | Dafny: Forward attributes on Dafny functions to Boogie (e.g., to disable ↵Gravatar wuestholz2011-12-07
| | | | | | | | | | | | wellformedness checks).
* | | Dafny tests: Disabled SnapshotableTrees.dfy for now while performance issues ↵Gravatar Rustan Leino2011-12-07
| | | | | | | | | | | | are being investigated
* | | MergeGravatar Rustan Leino2011-12-06
|\| |
| * | Dafny: Made some minor changes to the grammar.Gravatar wuestholz2011-12-06
| | |
* | | Boogie: Added new abstract interpretation harness, which uses native Boogie ↵Gravatar Rustan Leino2011-12-05
|/ / | | | | | | | | | | | | | | Expr's, not the more abstract AIExpr's. Boogie: Added Trivial Domain (/infer:t), which just detects assume/assert false. Boogie: Added new Interval Domain (/infer:j), which is stronger than the /infer:i intervals (because the also include preconditions, booleans, and more constraints) and may also be more efficient than previous intervals Boogie: Mark all inferred conditions with attribute {:inferred}
| * MergeGravatar Rustan Leino2011-11-22
| |\ | |/ |/|
* | DafnyExtension: fix up compilation (once again)Gravatar Rustan Leino2011-11-22
| |
* | Dafny: call C# compiler directly from inside Dafny, and optionally produce a ↵Gravatar Rustan Leino2011-11-22
| | | | | | | | .cs file with the new /spillTargetCode switch
| * Dafny: Added "type" declaration (syntax: "type X;"), which introduces an ↵Gravatar Rustan Leino2011-11-21
|/ | | | arbitrary type (like a global type parameter). In the future, a refined module may allow such types to be instantiated.
* Dafny: fixed bad Code ContractsGravatar Rustan Leino2011-11-16
|
* DafnyExtension: fixed build problemsGravatar Rustan Leino2011-11-15
|
* Boogie (and Dafny, with effects also on SscBoogie): I refactored ↵Gravatar Rustan Leino2011-11-15
| | | | CommandLineOptions to separate the options that belong to these 3 tools.
* Added Dafny solutions to the VSTTE 2012 program verification competitionGravatar Rustan Leino2011-11-15
|
* Dafny: added let expressions (syntax: "var x := E0; E1")Gravatar Rustan Leino2011-11-14
| | | | | Dafny: firmed up semantics of assert/assume expressions (the condition is now good for all program control paths that pass through the expression) Dafny: various implementation clean-ups
* Dafny: implemented the wellformedness check that datatype destructors are ↵Gravatar Rustan Leino2011-11-11
| | | | | | only applied to values created by the corresponding constructor Dafny: implement ghost destructors properly
* Dafny: allow assert/assume expressions in more placesGravatar Rustan Leino2011-11-09
|
* Dafny: added assert/assume expressionsGravatar Rustan Leino2011-11-09
|
* Dafny: moved definition of class.array into prelude, anticipating writing ↵Gravatar Rustan Leino2011-11-09
| | | | axioms that use it
* Dafny: allow single-quote as a character in identifiers in the VS2010 modeGravatar Rustan Leino2011-11-09
|
* Dafny: added "multiset" keyword to syntax highlighting in emacs, vim, latex, VSXGravatar Rustan Leino2011-11-09
|
* Dafny: fixed part of a type-inference issue with datatypes and the < ↵Gravatar Rustan Leino2011-11-09
| | | | | | operator on datatypes Dafny: allow the well-formedness check of a function's specification to know that the function, on the current arguments, returns a value of the declared result type
* Dafny: fixed bug in reads checking of array-to-sequence conversionsGravatar Rustan Leino2011-11-08
|
* Dafny: Cleaned up proof of RevConcat in test caseGravatar Rustan Leino2011-11-08
|
* Dafny: added a new /inductionHeuristic optionGravatar Rustan Leino2011-11-04
|
* Dafny: in test suite (Rippling.dfy), replaced an inline lemma with a call to ↵Gravatar Rustan Leino2011-11-04
| | | | a previous lemma
* Dafny: added options to make Induction Heuristic apply to array index ↵Gravatar Rustan Leino2011-11-04
| | | | expressions
* Added some Dafny and Boogie test cases, including Turing's factorial ↵Gravatar Rustan Leino2011-11-03
| | | | program, Hoare's classic FIND, and some induction tests for negative integers
* Dafny induction:Gravatar Rustan Leino2011-10-29
| | | | | | | * implemented induction tactic for result-less, non-mutating ghost methods * refine heuristics for determining if a variables is usefully passed to a recursive function * disallow certain "ensures" to use two-state features (needed for soundness of the parallel-statement translation, see comments in Resolver.cs and ParallelResolveErrors.dfy) * added command-line flags /induction and /inductionHeuristic (everything is on by default)
* Dafny: allow attributes on function/method declarations to refer to the (in- ↵Gravatar Rustan Leino2011-10-26
| | | | and out-)parameters
* Dafny: removed Dafny's "foreach" statements (replaced by the new "parallel" ↵Gravatar Rustan Leino2011-10-26
| | | | statement)
* Dafny: removed support for assigning to an array-range (that is, an ↵Gravatar Rustan Leino2011-10-26
| | | | assignment statement where the LHS has the form a[lo..hi])
* Dafny: Commented out SnapshotableTrees.Node.FunctionalInsert while ↵Gravatar Rustan Leino2011-10-26
| | | | performance issues with the prover and going into SMTLib2 mode are being investigated.
* BVD: fixed two basic but damning problems with the Dafny provider, and ↵Gravatar Rustan Leino2011-10-26
| | | | elided some temporary variables
* Dafny: implemented compilation of parallel statementsGravatar Rustan Leino2011-10-25
| | | | Dafny: beefed up resolution of parallel statements
* Dafny: check subrange restriction in parallel Assign statementGravatar Rustan Leino2011-10-24
| | | | | Dafny: verify parallel Call statement Dafny: fixed some bugs: handle all cases of comprehension expressions in resolver's UsesSpecFeatures, check target of method calls to be non-null (duh!)
* Dafny: continued translation of "parallel" statements (Assign and Proof ↵Gravatar Rustan Leino2011-10-24
| | | | | | | forms are mostly there, Call is missing and so is compilation) Dafny: included some test cases for the "parallel" statement Dafny: starting changing old "foreach" statements to the new "parallel" statement
* Dafny: added translation of Assign case of the parallel statementGravatar Rustan Leino2011-10-22
| | | | Dafny: discovered and fixed bug in no-overlap check of multi-dimensional array update, and changed previously incorrect MatrixFun.dfy test case (the new version is also a more efficient program)
* Dafny: changed triggers (which are never really used, anyhow) from having a ↵Gravatar Rustan Leino2011-10-21
| | | | | | | special syntactic form to being just an attribute Dafny: added "parallel" statement (so far, only parsing and resolving) Dafny: allow types on bound variables in "match" expressions/statements (there's never any incentive to list them explicitly in the program text, but it nevertheless seemed silly to forbid them)
* Dafny: fixed performance-buggy translation of exists, and also added some ↵Gravatar Rustan Leino2011-10-19
| | | | other features in SplitExpr (such as induction on existential quantifiers)