Improve performance of FairZ3 by lowering unrolling to the z3 level. Improve...
Improve performance of FairZ3 by lowering unrolling to the z3 level. Improve synthesis profiling script. Improve performance of FairZ3: Make function templates and unlocking/unrolling work directly at the z3 level for performance reasons. Implement push-pop at the unrolling-bank level. Works around a z3 bug. Z3 apparently side-effects during check-assumptions, causing a following check without assumptions to produce unreliable results. We work around this by backtracking to the state before the check-assumptions using push/pop. Improve synthesis profiling/benchmarking: Move benchrmarking suite away from tests. Synthesis Rule application benchmark can now use a --rule option specifying what rule to apply. Add Testcase to evaluate CEGIS unrolling of different depth. Benchmarking script is now generated via the 'bench' sbt task.
Showing
- .gitignore 2 additions, 0 deletions.gitignore
- project/Build.scala 77 additions, 61 deletionsproject/Build.scala
- src/main/scala/leon/FunctionTemplate.scala 0 additions, 238 deletionssrc/main/scala/leon/FunctionTemplate.scala
- src/main/scala/leon/LeonContext.scala 2 additions, 2 deletionssrc/main/scala/leon/LeonContext.scala
- src/main/scala/leon/Main.scala 1 addition, 1 deletionsrc/main/scala/leon/Main.scala
- src/main/scala/leon/solvers/z3/AbstractZ3Solver.scala 7 additions, 0 deletionssrc/main/scala/leon/solvers/z3/AbstractZ3Solver.scala
- src/main/scala/leon/solvers/z3/FairZ3Solver.scala 109 additions, 51 deletionssrc/main/scala/leon/solvers/z3/FairZ3Solver.scala
- src/main/scala/leon/solvers/z3/FunctionTemplate.scala 213 additions, 0 deletionssrc/main/scala/leon/solvers/z3/FunctionTemplate.scala
- src/main/scala/leon/synthesis/utils/Benchmarks.scala 49 additions, 26 deletionssrc/main/scala/leon/synthesis/utils/Benchmarks.scala
- src/main/scala/leon/synthesis/utils/SynthesisProblemExtractionPhase.scala 45 additions, 0 deletions...eon/synthesis/utils/SynthesisProblemExtractionPhase.scala
- src/main/scala/leon/verification/AnalysisPhase.scala 0 additions, 6 deletionssrc/main/scala/leon/verification/AnalysisPhase.scala
- src/test/scala/leon/test/synthesis/SynthesisSuite.scala 2 additions, 36 deletionssrc/test/scala/leon/test/synthesis/SynthesisSuite.scala
- testcases/synthesis/CegisExamples.scala 24 additions, 0 deletionstestcases/synthesis/CegisExamples.scala
Loading
Please register or sign in to comment