summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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
|
* Updated to use new CCI API.Gravatar mikebarnett2010-04-16
|
* Dafny: Removed the previous optional curly braces in match expressions (use ↵Gravatar rustanleino2010-04-02
| | | | parens instead, when needed!).
* Dafny:Gravatar rustanleino2010-03-31
| | | | | | | * Added match statements (in addition to the previous match expressions) * Added missing axiom about boxes and datatypes * Improved axioms for datatype rank comparisons * Added test cases with mutual-recursion termination challenges
* Dafny: Ensures that function axioms are not being used while their ↵Gravatar rustanleino2010-03-19
| | | | consistency is being checked.
* Dafny:Gravatar rustanleino2010-03-18
| | | | | * Allow "decreases *" only for loops. * Cosmetic changes in SchorrWaite.dfy
* Dafny:Gravatar rustanleino2010-03-16
| | | | | | | | | | | | | | | | * Added modules with imports. These can be used to deal with termination checks without going into method/function implementations. Imports must be acyclic. * Added a default module. It contains all classes/datatypes defined outside the lexical scope of any other module. * Added a default class. It contains all class members defined outside the lexical scope of any module and class. This means that one can write small Dafny programs without any mention of a "class"! * Revised scheme for termination metrics. Inter-module calls are allowed iff they follow the import relation. Intra-module calls where the callee is in another strongly connected component of the call graph are always allowed. Intra-module calls in the same strongly connected component are verified to terminate via decreases clauses. * Removed previous hack that allowed methods with no decreases clauses not to be subjected to termination checking. * Removed or simplified decreases clauses in test suite, where possible. * Fixed error in Test/VSI-Benchmarks/b1.dfy
* Dafny:Gravatar rustanleino2010-03-16
| | | | | * Beginning of module implementation * Changed "class" modifier (for functions and methods) to "static"
* Dafny: Added definedness checks for all statements (previously, some were ↵Gravatar rustanleino2010-03-13
| | | | | | missing) Boogie: Added {:subsumption <n>} attribute to assert statements, which overrides the /subsumption command-line setting
* Added a comment to the MakefileGravatar mschwerhoff2010-03-12
|
* Added wellformedness checks to method specificationsGravatar rustanleino2010-03-12
|
* Dafny:Gravatar rustanleino2010-03-12
| | | | | * Modifies clause checking is now done with each update, instead of at the end of the method. Not only does this improve error messages, but on some examples, it gives a dramatic speed-up (2x) in proving time. * bugfix: range expressions of foreach statements were previously ignored during Translation
* Call program-wide lambda desugaring on axioms only. Call it on procedures in ↵Gravatar MichalMoskal2010-03-12
| | | | passive form.
* Boogie: Clone a TypedIdent to get rid of 'where' clauses during the ↵Gravatar rustanleino2010-03-12
| | | | translation of free variables of lambda expressions.
* Dafny:Gravatar rustanleino2010-03-11
| | | | | | * Enforce ghost vs. non-ghost separation * Allow ghost parameters and ghost locals * Functions are ghost, but allow the non-ghost "function method"
* Dafny: Added stratosphere tests for datatypes--that is, it is now checked ↵Gravatar rustanleino2010-03-11
| | | | that every datatype has some value.
* Dafny:Gravatar rustanleino2010-03-10
| | | | | * Added "decreases" clauses to methods. * Interpret the filename stdin.dfy as an indication to read the program from standard input.
* Boogie: Added resolution and type checking for attributes on "call" and ↵Gravatar rustanleino2010-03-09
| | | | "call forall". Fixed printing of these attributes to print all attributes.
* added support for printing attributes on calls via EmitGravatar qadeer2010-03-08
|
* added attributes to CallForallCmd as wellGravatar qadeer2010-03-07
|
* added the ability to annotate calls with attributesGravatar qadeer2010-03-06
|
* Removed files that were under GPL.Gravatar mikebarnett2010-02-22
|
* Boogie:Gravatar rustanleino2010-02-20
| | | | | | | | | | | * Bug fix: Changed checking of postconditions to follow the order in which ensures clauses are given (not reverse order, as was previously the case) * Added command-line option (/instrumentInfer) that decides how to instrument the Boogie program with inferred invariants. Previously, the only option was to instrument at the beginning and end of every basic block. The new option, which is now the default, is to instrument only at the beginning of loop heads. * Add empty blocks between other blocks only as needed, and try a little harder to retain source information when blocks are peep-hole optimized * Renamed flag /noRemoveEmptyBlocks to /removeEmptyBlocks:<c> where <c> is 0 or 1 Boogie refactoring: * Removed LoopPredicate class and related classes and methods left over from when (back in the Zap 2 days) we supported loop invariants on demand * Cleaned up some parsing of command-line options
* added an option /doModSetAnalysis specially for ZvonimirGravatar qadeer2010-02-20
| | | | changed liveVarsBefore from Boogie.Set to Generics.Set
* Fix up the polymorphic case for lambda; it probably still isn't quite correct.Gravatar MichalMoskal2010-02-19
|
* Split parts of AbsyExpr.ssc into AbsyQuant.ssc. Implement lambda ↵Gravatar MichalMoskal2010-02-19
| | | | expressions; they might not yet fully work for polymorphic maps.
* Boogie (Util): Added an Emacs flymake extension for BoogiePL.Gravatar wuestholz2010-02-19
|
* Boogie (Emacs mode): Added an alternative Emacs mode for BoogiePL. It ↵Gravatar wuestholz2010-02-19
| | | | supports syntax-highlighting, auto-indentation and imenu.
* Update to F# 1.9.9.9.Gravatar MichalMoskal2010-02-18
|
* Implement if-then-else expression.Gravatar MichalMoskal2010-02-18
|
* * Added "deprecated" comment in help message about /interprocInfer switch. ↵Gravatar rustanleino2010-02-18
| | | | | | | The functionality is currently broken. * Adjust procedure summaries also after processing call returns (used only in interprocedural inference, which is currently not really supported, but this change would be needed if we ever decide to support it) * Some other code clean-up, like removing unnecessary [Reads(...Owned)] attributes on [Pure] methods
* 1. Removed a quadratic loop in SimplifyLikeLineariser.ssc in favor of a ↵Gravatar qadeer2010-02-16
| | | | | | | linear procedure call 2. Inlining requires two fields OriginalBlocks and OriginalLocVars in Implementation. These are set just before inlining is called and now I reset them to null afterwards to help garbage collection. 3. Clear live variables right after passification again to help garbage collection.
* Implemented block coalescing invoked right after type checking.Gravatar qadeer2010-02-16
| | | | Controlled by the option /coalesceBlocks (default is to perform the optimization).
* Boogie: Peephole optimization to reduce depth of formulas created during VC ↵Gravatar rustanleino2010-02-15
| | | | generation. This reduces the chances of Boogie causing a stack overflow.
* eliminated the line printing version number in the golden outputGravatar qadeer2010-02-13
|