- Feb 12, 2015
-
-
Etienne Kneuss authored
-
Emmanouil (Manos) Koukoutos authored
-
Emmanouil (Manos) Koukoutos authored
-
Emmanouil (Manos) Koukoutos authored
-
Etienne Kneuss authored
- evaluate it to simplest value - solve it to arbitrary value - Use within CEGLESS as bank of exprs - Avoid GuidedCloser if non-det expr (contains choose, holes, ..)
-
Etienne Kneuss authored
Introduces a guiding witness, indicating what the original solution was. This original solution is then either 1) tried as potential solution (verification) 2) used as decomposition, for instance on If expressions.
-
Etienne Kneuss authored
Introduces terminates(f(..)) witnesses in the spec, used to generate safe recursive calls. After a split i.e. on a List with Cons, the witness becomes terminates(f(.., Cons(h, t), ..)) at which point we know that calling f(.., t, ..) is safe termination-wise.
-
- Oct 30, 2014
-
-
Emmanouil (Manos) Koukoutos authored
-
- Oct 29, 2014
-
-
Emmanouil (Manos) Koukoutos authored
-
- Oct 27, 2014
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
- Oct 08, 2014
-
-
Etienne Kneuss authored
- Introduce Leon strings (smt-based solvers only) Available in leon.lang.string._ - Print method calls properly, specialize binary ops
-
- Sep 04, 2014
-
-
Etienne Kneuss authored
-
- Aug 18, 2014
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
- Aug 14, 2014
-
-
Etienne Kneuss authored
-
- Aug 07, 2014
-
-
Etienne Kneuss authored
List: slice(from: Int, to: Int): List[T] replace(from: T, to: T): List[T] chunks(s: Int): List[List[T]] zip[B](that: List[B]): List[(T, B)] -(e: T): List[T] --(that: List[T]): List[T] &(that: List[T]): List[T] pad(s: Int, e: T): List[T] find(e: T): Option[Int] lastOption: Option[T] firstOption: Option[T] unique: List[T] splitAt(e: T): List[List[T]] split(seps: List[T]): List[List[T]] count(e: T): Int evenSplit: (List[T], List[T]) insertAt(pos: Int, l: List[T]): List[T] replaceAt(pos: Int, l: List[T]): List[T] rotate(s: Int): List[T] ListOps: flatten[T](ls: List[List[T]]): List[T]
-
Etienne Kneuss authored
-
- Jun 05, 2014
-
-
Etienne Kneuss authored
-
- May 30, 2014
-
-
Etienne Kneuss authored
-
- May 21, 2014
-
-
Etienne Kneuss authored
-
- Apr 11, 2014
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
- NormalizationRule becomes priorities, so that we can have multiple distinct layers - Use the @library annotation, move synthesis stuff to synthesis, Oracles. - Make sure tests use PreprocessingPhase and import synthesis when adequate - Extract proper package objects fix patternRecons and simplifiers - Reorganize library: - leon.{choose,???} -> leon.lang.synthesis - leon.{waypoint,epsilon} -> leon.lang.xlang
-
- Mar 20, 2014
-
-
Etienne Kneuss authored
- Holes become chooses - Unhandled types are removed, Untyped is now checked for and a warning is issued if an untyped expression is found.
-
- Mar 14, 2014
-
-
Etienne Kneuss authored
-
- Feb 28, 2014
-
-
Etienne Kneuss authored
- Implement the Leon Library in Leon-land rather than Scala-land. import leon.Utils._ becomes import leon.lang._ import leon.Annotations._ becomes import leon.annontation._ For now, the library defines generic Options and Lists. The library is automatically imported from the ./leon script, unless the --library=no option is passed. - Support parsing of multiple files and modules. - Introduce new annontations: @ignore: remove definition from Leon @verified: do not consider for verification unless explicitly specified
-
- Feb 17, 2014
-
-
Etienne Kneuss authored
Methods: -------- Methods are now supported in ADT roots only (e.g. single case classes or abstract classes). The phase `MethodLifting` converts them to normal global functions which makes them transparent to the rest of Leon. Introducing Leon Library: ------------------------- Common structures and functionalities can be shipped as part of the Library.scala file, which is a set of ADTs with methods. Imported via `import leon.Library._` New Annotations: ---------------- - @verified means library function will not be considered for verification unless specifically given through --functions - @proxy allows non-pure bodies, which will be silently ignored. pre/post need to be in purescala. Functions without bodies (e.g. proxy methods) are now materialized with a choose construct automatically, replicating the post-condition. This allows compilation to bytecode and execution of VCs refering to proxy methods. Tree Modifications: ------------------- - FunDef now have params, not args. - VarDecl is renamed ValDef. - Added methods in ClassDef, as well as This and MethodInvocation, both are converted to normal function calls by the MethodLifting phase.
-
- Jul 11, 2013
-
-
Etienne Kneuss authored
- Refactor code extraction - Standardize extractors - Fix type identification by resolving type aliases - Redo reporter integration with Scalac - Fix relining to prevent bizarre compile-errors - Refactor Pretty-Printers - Extensible class interface - Not returning mutable string-buffers anymore - Fixes according to 2.10 - 100% false warnings in Tests - imports for postfix-ops or implicits - Upgrade ScalaZ3 to 2.10 - Upgrade Cafebabe to 2.10
-
- Jun 03, 2013
-
-
Etienne Kneuss authored
-
- Oct 30, 2012
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
- Oct 24, 2012
-
-
Philippe Suter authored
-
- Oct 19, 2012
-
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
Etienne Kneuss authored
-
- Sep 23, 2012
-
-
Régis Blanc authored
-
- Sep 21, 2012
-
-
Régis Blanc authored
-