unrolling solver correclty interrupts its solver
Fixes a bug, where UnrollingSolver was interrupted but was not stopping its internal solver, leading to a timeout not being respected if the internal solver was stucked in a complicated check operation. UnrollingSolver now takes a Solver with Interruptible. In order to do that, Leon now relies on a more recent version of scala-smtlib, that provides a feature to kill the solver process in a relatively clean way. Update the SMTLIBSolver code to actually perform the kill operation on the interrupt.
Showing
- project/Build.scala 1 addition, 1 deletionproject/Build.scala
- src/main/scala/leon/solvers/combinators/UnrollingSolver.scala 3 additions, 1 deletion...main/scala/leon/solvers/combinators/UnrollingSolver.scala
- src/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala 9 additions, 2 deletionssrc/main/scala/leon/solvers/smtlib/SMTLIBSolver.scala
- src/main/scala/leon/solvers/smtlib/SMTLIBTarget.scala 3 additions, 3 deletionssrc/main/scala/leon/solvers/smtlib/SMTLIBTarget.scala
Please register or sign in to comment