summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* | Dafny: fixed compilation bug (datatype equality had used pointer equality, ↵Gravatar Rustan Leino2011-09-11
| | | | | | | | not member equality)
* | Dafny: fixed compilation error where type of target "null" was undeterminedGravatar Rustan Leino2011-09-11
| |
* | Dafny: added Flatten example to test suiteGravatar Rustan Leino2011-09-11
|/
* MergeGravatar Rustan Leino2011-09-08
|\
* | Dafny: fixed parsing bug with "!in"Gravatar Rustan Leino2011-09-08
| | | | | | | | | | Dafny: fixed translation bug with missing match cases (where the constructor has some parameters) Dafny: fixed translation bug where the program had forward references to members of a datatype
| * Jennisys: added synthesized code for examplesGravatar Aleksandar Milicevic2011-08-26
| |
| * Jennisys: SetNode.Find exampleGravatar Aleksandar Milicevic2011-08-23
| |
| * MergeGravatar Aleksandar Milicevic2011-08-23
| |\ | |/ |/|
| * Jennisys: changed the Combiner method to produce moreGravatar Aleksandar Milicevic2011-08-23
| | | | | | | | combinations, so now List.Find works
| * Jennisys: changed the Combiner method to produce moreGravatar Aleksandar Milicevic2011-08-22
| | | | | | | | combinations, so now List.Find works
* | Dafny: updated Answer file from recent test additionsGravatar Rustan Leino2011-08-22
| |
* | MergeGravatar Rustan Leino2011-08-22
|\|
| * Jennisys:Gravatar Aleksandar Milicevic2011-08-22
| | | | | | | | | | | | | | - worked on some additional list examples - added expression simplification function - added "decreases Repr" for recursive methods - added desugaring when printing out method calls to Dafny
* | MergeGravatar Rustan Leino2011-08-22
|\|
* | Dafny: updated test files (will soon update Answer files as well)Gravatar Rustan Leino2011-08-22
| |
| * jennisys: got the List.Get example to work. List.Tail also works. Others ↵Gravatar Aleksandar Milicevic2011-08-21
| | | | | | | | should follow soon
| * MergeGravatar Aleksandar Milicevic2011-08-20
| |\ | |/ |/|
| * Jennisys: added some more infrastructure for synthesizing read only methodsGravatar Aleksandar Milicevic2011-08-20
| |
* | MergeGravatar Rustan Leino2011-08-18
|\|
* | Dafny: fixed bug in looking at the arguments of the :induction attributeGravatar Rustan Leino2011-08-18
| |
| * Jennisys:Gravatar Aleksandar Milicevic2011-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | | - changed the way candidate conditions are discovered; now it simply uses all sub-expressions found in the spec that evaluate to TrueLiteral - changed the implementation so that when trying to infer a precondition, try out several different possibilities (and see which one works) - added some very basic (and incomplete) type inference - fixed a bug in the Modularizer (it didn't fix the solution after trying out the spec infered from the solution) - fixed a bug in DafnyModelUtils so that now when reading from the boogie model file it keeps getting information from Seq# functions until reaching a fixpoint (that's needed because the order or reads is important)
| * Jennisys:Gravatar Aleksandar Milicevic2011-08-15
| | | | | | | | | | | | | | | | | | - added concreteValues field to HeapInstance - brought back reading from Seq#Build when restoring Boogie models - changed the how the candidate conditions are inferred: now it only looks for unmodifiable concrete fields - method in parameter values are added to the list of potential candidate conditions
| * Jennisys:Gravatar Aleksandar Milicevic2011-08-14
| | | | | | | | | | | | | | | | - changed the synthesis of the Valid() function to synthesize both unrolled and recursive definition of it, because both are needed in certain cases - to make the recursive definition of Valid() work, a "decreases" clause is needed. For now, decreases clause is always "decreases Repr", and that seems to be enough for now.
| * Jennisys: added some more infrastructure for synthesizing read only methods, soGravatar Aleksandar Milicevic2011-08-13
| | | | | | | | that now a simple example like Node.Tail work.
| * MergeGravatar Aleksandar Milicevic2011-08-12
| |\
| * | Jennisys:Gravatar Aleksandar Milicevic2011-08-12
| | | | | | | | | | | | | | | | | | - added "modifiable objects" to heap instance - when verifying synthesized program, only fields of the modifiable objects are considered
| | * Dafny: Fixed a bug in the printer that led to a stack overflow.Gravatar wuestholz2011-08-11
| |/
| * Jennisys: started to work on synthesizing some methods. So far, onlyGravatar Aleksandar Milicevic2011-08-10
| | | | | | | | | | | | infrastructural things have been implemented, like handling return parameters, generating different "fresh" spec for methods than for constructors, adding "Valid()" to method preconditions.
| * MergeGravatar Aleksandar Milicevic2011-08-05
| |\ | |/ |/|
| * Jennisys:Gravatar Aleksandar Milicevic2011-08-05
| | | | | | | | - small fixes to the modular synthesis
* | MergeGravatar Rustan Leino2011-08-04
|\|
* | Dafny: added reverse*reverse=id example to test suiteGravatar Rustan Leino2011-08-04
| |
* | Dafny: for VS mode, let lexer allow "?"Gravatar Rustan Leino2011-08-04
| |
| * Jennisys:Gravatar Aleksandar Milicevic2011-08-03
| | | | | | | | | | | | - moved modularization and method unification stuff to their own modules - improved the modular synthesis so that whole branches can be delegated to existing methods.
* | Dafny: fix resolution crash (using multi-dimensional arrays in loop alternative)Gravatar Rustan Leino2011-08-03
|/
* Jennisys: implemented a unification algorithm that tries to find an existingGravatar Aleksandar Milicevic2011-08-02
| | | | method that matches (specification-wise) a synthesized one
* Jennisys: (1) fixed a bug in "TryInferConditionals"; (2) added synthesized ↵Gravatar Aleksandar Milicevic2011-07-29
| | | | modular code
* Jennisys:Gravatar Aleksandar Milicevic2011-07-29
| | | | | | - finished the initial version of the modular code for constructors (excluding the unification part where it tries to find an existing function that meets the required spec)
* Jennisys:Gravatar Aleksandar Milicevic2011-07-27
| | | | - continued to work on the implementation of the modular code for constructors
* Jennisys:Gravatar Unknown2011-07-27
| | | | | | | | - implemented an initial version of modular code synthesis (where the initialization code is delegated to receiver objects instead of modifying their private stuff directly). For now, it just generates stub methods with appropriate specification. Another analysis can be called for such methods to synthesize their bodies.
* MergeGravatar Rustan Leino2011-07-26
|\
| * Jennisys:Gravatar Unknown2011-07-26
| | | | | | | | | | - added a rule to discover when some method arguments are equal and to use that equality as a potential pre-condition
| * Jennisys:Gravatar Unknown2011-07-26
| | | | | | | | | | - added "inferConds" cmd line option - refactored out some pieces of code into their own functions
* | Dafny: re-ran parser generator to include semicolon-less body-less ↵Gravatar Rustan Leino2011-07-26
|/ | | | functions/methods, and updated some test files accordingly (compare with changesets 1429 and 1366)
* MergeGravatar Rustan Leino2011-07-26
|\
| * - restored the "old" (as it was before switching from map to list)Gravatar Unknown2011-07-25
| | | | | | | | ordering of field assignments
| * - changed heapInst.assignments' type from Map to List (because assignment ↵Gravatar Unknown2011-07-25
| | | | | | | | | | | | order can matter) - fixed a bug in the piece of code for desugaring quantifiers
* | MergeGravatar Rustan Leino2011-07-25
|\|
| * MergeGravatar Unknown2011-07-22
| |\
| * | Jennisys:Gravatar Unknown2011-07-21
| | | | | | | | | | | | | | | | | | | | | - added the following desugaring rule forall v :: v in {a1, a2, ..., an} ==> e ~~~> e[v/a1] && e[v/a2] && ... && e[v/an] - added the "help" command line option