sosy-lab / java-smt

JavaSMT - Unified Java API for SMT solvers.
Apache License 2.0
187 stars 45 forks source link

Update OptiMathSAT from 1.7.1 to 1.7.2 or 1.7.3 #233

Open kfriedberger opened 3 years ago

kfriedberger commented 3 years ago

There is a new version of OptiMathSAT, which does not bring anything new, except internal improvements. Normally, such an update would not be worth an issue. However, there is a regression and it should to be documented:

Problem

The JUnit test OptimizationTest#testSwitchingObjectives hangs with an unexpected high runtime (no result after 10min). The expected runtime is less than a second.

Steps for simpler reproduction

When reporting the regression to the developer team of OptiMathSAT, they gave useful hints how to extract traces for the API interaction. Setting a few options allows to dump either SMTLIB2 of even C code directly for using OptiMathSAT:

Those settings can be given to our (Opti)MathSAT bindings via the option solver.mathsat5.furtherOptions. The dump with number 3 provides an SMTLIB2 file (mathsat_trace_3.txt) that seems to directly cause the problem on commandline: bin/optimathsat -optimization=true mathsat_trace_3.txt

We reported this and now wait for the developers to provide a fixed version of OptiMathSAT.

kfriedberger commented 2 years ago

The same problem still appears with OptiMathSAT 1.7.3.