Skip to content
Snippets Groups Projects
  1. Mar 20, 2014
  2. Mar 14, 2014
  3. Feb 10, 2014
  4. Sep 12, 2013
  5. Jun 03, 2013
  6. Apr 12, 2013
  7. Feb 13, 2013
    • Etienne Kneuss's avatar
      Various improvements necessary for the web-interface · f48ff213
      Etienne Kneuss authored
      - Describe individual rule applications to allow a user to select one
        in particular
      
      - Scala-Printing LetDefs correctly, allow initial indenting
      
      - Fix Choose with single out variable not generating Tuple1
      
      - Give synthesis a specific path to follow, used by web
      
      - Allow val (x: Int, y: Int) = ... along with locally{}
      
      - Expose information on the synthesis search tree
      
      - Correctly substitute varaibles in ADTInduction's pre/post
      
      - Generic transformers with PC tracking, collect chooses with PC
      
      - Detect line indentation of choose() to indent solution correctly
      
      - Implement simplifier which renames ids based on the context
      
      - Rescale timeouts, use uninterpreted solver for filtering simple cases
      
      - Assume that choose() can reference the entire scope
      
        This is necessary to ensure that Lets do not get thrown away. For
        instance:
      
        Let(x = ..., choose(out => .. y ..))
      
        while the choose may not directly reference x in its preducate, it's
        part of its path condition and should be usable by synthesis.
        SimplifyLet should not simplify/replace it.
      
      - Modify PC for Let(x, Fcall()), this probably needs to be generalized!
      
      - Expose counter-example found during verification, include them in
        VCReport
      
      - Decouple genVCs/checkVCs from Phase.run so that it can be used separately
      f48ff213
  8. Jan 20, 2013
    • Etienne Kneuss's avatar
      Implement the concept of Normalizing rules · f5fb158f
      Etienne Kneuss authored
      Normalizing rules are rules that:
      1) always help synthesis
      2) are commutative
      3) should be applied as early as possible
      
      Here we apply normalizing rules explicitly before all other rules, and
      in a deterministic order. This should dramatically reduce the search
      space in cases where such rules apply.
      
      Note that rules that are said to be normalizing should never fail once
      instantiated.
      f5fb158f
  9. Jan 14, 2013
  10. Jan 11, 2013
    • Etienne Kneuss's avatar
      Propagate expected types to onSuccess · e4a278b4
      Etienne Kneuss authored
      This allows CostModels to estimate correctly the minimal cost of a
      applying a rule.
      
      With type information on the expected types of a solution
      reconstruction, the cost model can provide dummy values of the correct
      type, avoiding assertion errors when composing solutions.
      e4a278b4
  11. Jan 08, 2013
    • Etienne Kneuss's avatar
      Allow onSuccess to fail. This is necessary to prevent soundness issues. · 965264c3
      Etienne Kneuss authored
      The synthesizer used to generate wrong programs by generating inductive
      programs with an impossible base-case. onSuccess on inductive rules now
      prevents this by checking that sufficiently many cases have precondition
      == true. Otherwise, onSuccess fails. This last-moment failure is now
      handled correctly.
      
      Strenghten precondition
      965264c3
  12. Jan 03, 2013
  13. Dec 06, 2012
  14. Dec 05, 2012
  15. Nov 23, 2012
  16. Nov 21, 2012
  17. Nov 20, 2012
  18. Nov 19, 2012
  19. Nov 15, 2012
  20. Nov 14, 2012
  21. Nov 13, 2012
Loading