Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Yices2 SMTCOMP 2024 Submission #66

Merged
merged 18 commits into from
Jun 18, 2024
Merged

Conversation

ahmed-irfan
Copy link
Contributor

No description provided.

Copy link

github-actions bot commented May 28, 2024

Summary of modified submissions

Yices2

  • 7 authors
  • website: https://yices.csl.sri.com/
  • Participations
    • UnsatCore
      • Equality
        • UF
      • QF_Bitvec
        • all
      • QF_Equality
        • all
      • QF_Equality+Bitvec
        • QF_UFBVDT
      • QF_Equality+LinearArith
        • QF_UFDTLIA
        • QF_UFDTLIRA
      • QF_LinearIntArith
        • all
      • QF_LinearRealArith
        • all
    • SingleQuery
      • Equality
        • UF
      • QF_Bitvec
        • all
      • QF_Equality
        • all
      • QF_Equality+Bitvec
        • QF_UFBVDT
      • QF_Equality+LinearArith
        • QF_UFDTLIA
        • QF_UFDTLIRA
      • QF_Equality+NonLinearArith
        • QF_UFDTNIA
      • QF_LinearIntArith
        • all
      • QF_LinearRealArith
        • all
      • QF_NonLinearIntArith
        • all
      • QF_NonLinearRealArith
        • all
    • ModelValidation
      • QF_Bitvec
        • all
      • QF_Equality
        • all
      • QF_Equality+Bitvec
        • all
      • QF_Equality+LinearArith
        • all
      • QF_Equality+NonLinearArith
        • QF_UFNIA
        • QF_UFNRA
      • QF_LinearIntArith
        • all
      • QF_LinearRealArith
        • all
      • QF_NonLinearIntArith
        • all
      • QF_NonLinearRealArith
        • all
    • Incremental
      • QF_Bitvec
        • all
      • QF_Equality
        • all
      • QF_Equality+Bitvec
        • all
      • QF_Equality+Bitvec+Arith
        • all
      • QF_Equality+LinearArith
        • all
      • QF_Equality+NonLinearArith
        • all
      • QF_LinearIntArith
        • all
      • QF_LinearRealArith
        • all
      • QF_NonLinearIntArith
        • all

@bobot bobot added the submission Submissions for SMT-COMP label May 28, 2024
@ahmed-irfan
Copy link
Contributor Author

@bobot The summary is showing logics which we didn't submit to. e.g. we didn't submit Yices2 to QF_UFBVDT in the unsatcore track, but it is shown in the summary.

@bobot
Copy link
Contributor

bobot commented Jun 1, 2024

Indeed the markdown removed the strike that where in the original output. Thank you for catching it!

@bobot
Copy link
Contributor

bobot commented Jun 1, 2024

FYI, The output is normally the following. I'm going to fix it (I hope).

comment

@ahmed-irfan ahmed-irfan changed the title Yices2 SMTCOMP 2024 Submission [Draft] Yices2 SMTCOMP 2024 Submission Jun 7, 2024
martinjonas pushed a commit that referenced this pull request Jun 10, 2024
#84: Create cvc5-cloud
#74: Draft STP submission
#70: draft yicesQS submission
#68: Create STP-CNFLS
#66: Yices2 SMTCOMP 2024 Submission
#65: Z3-alpha draft PR
#64: Solver submission: cvc5
#63: submission iProver
#61: OSTRICH 1.4
#60: SMT-RAT submission
#57: Amaya's submission for SMT-COMP 2024
#55: plat-smt submission
#54: Add 2024 Bitwuzla submission.
#53: 2024 solver participant submission: OpenSMT
#52: Z3-Noodler submission
#51: Submission Colibri
#45: Submission for smtinterpol
#42: Adding Algaroba to SMTCOMP 2024
@martinjonas
Copy link
Contributor

@ahmed-irfan We have executed the latest version of Yices2 on a randomly chosen subset of 20 single-query benchmarks from each logic where it participates. The benchmarks are also scrambled by the competition scrambler (with seed 1). You can find the results here: https://www.fi.muni.cz/~xjonas/smtcomp/yices2.table.html#/table

Quick explanation:

  • Green status means that the result agrees with the (set-info :status _) annotation from the benchmark.
  • Blue status means that the benchmark has annotation (set-info :status unknown).
  • By clicking on the result (e.g. false, true, ABORTED, …) you can see the command-line arguments with which your solver was called and its output on the benchmark.
  • By clicking on the benchmark name (i.e., *scrambled*.yml), you can see the details of the benchmark including its contents (by clicking on the file link in input_files) and the name of the original bennchmark before scrambling (e.g., # original_files: 'non-incremental/AUFBVFP/20210301-Alive2-partial-undef/ph7/583_ph7.smt2').

Please check whether there are some discrepancies, such as missing/extra logics, unexpected aborts or unknowns, and similar. If you update the solver, let me know and I can execute further test runs. We still have plenty of time for several follow-up test runs.

@martinjonas
Copy link
Contributor

@ahmed-irfan Here are also results of the test run on a small subset of incremental benchmarks: https://www.fi.muni.cz/~xjonas/smtcomp/yices2_inc.table.html#/table

The status column has the following meaning:

  • DONE (X correct): the solver terminated successfully and correctly decided X (check-sat) queries before that.
  • SOMETHING_ELSE (X correct) (e.g., TIMEOUT (10 correct) or ABORTED (10 correct)): The solver did not terminate successfully, but correctly decided X (check-sat) queries before it crashed or was killed.
  • WRONG: There was at least one answer to (check-sat) that did not agree with the status specified in the benchmark.

IMPORTANT: It seems that the current version of Yices2 produces some wrong results on one of the benchmarks. Note that this occurs only after scrambling, e.g.,

> ~/Repositories/tmp/execution/unpack/1c7b0a3967c19f827b5106f5553956f14149b8847be1efec70065328b36662c8/yices_smt2 --incremental < ~/Projects/SMT-COMP/benchmarks/incremental/QF_AUFBVNIA/20190307-CPAchecker_kInduction-SoSy_Lab/linux-4.0-rc1---drivers--video--fbdev--s3fb.ko.cil_smt-query.0.smt2
sat
sat
> ~/Repositories/scrambler/scrambler -seed 1 -incremental true < ~/Projects/SMT-COMP/benchmarks/incremental/QF_AUFBVNIA/20190307-CPAchecker_kInduction-SoSy_Lab/linux-4.0-rc1---drivers--video--fbdev--s3fb.ko.cil_smt-query.0.smt2 > scrambled.smt2
> ~/Repositories/tmp/execution/unpack/1c7b0a3967c19f827b5106f5553956f14149b8847be1efec70065328b36662c8/yices_smt2 --incremental < scrambled.smt2 
unsat
unsat

If there are any other discrepancies (missing/extra logics, unexpected results), please let me know.

Note that for the execution on our cluster, I had to create a new script yices_smt2_wrapped, because smtlib2_trace_executor does not handle commands with command line options. The content of yices_smt2_wrapped is

#!/usr/bin/env bash                                                                                      
                                                                                                         
DIR=$(dirname "$0")                                                                                      
exec $DIR/yices_smt2 --incremental

and this is the script executed in the runs. This is unrelated to the wrong results, as they occur even without this wrapper.

@ahmed-irfan
Copy link
Contributor Author

ahmed-irfan commented Jun 13, 2024

@martinjonas I have updated the solver. Can you please run the tests again?
Also note that I have updated the json configuration file for running the single-query QF_BV benchmarks. It now requires passing a command line argument.
Thanks!

@martinjonas
Copy link
Contributor

@martinjonas I have updated the solver. Can you please run the tests again? Also note that I have updated the json configuration file for running the single-query QF_BV benchmarks. It now requires passing a command line argument. Thanks!

Sure, done! You can find the new results using the same links as before.

And I am glad to see that you managed to fix that wrong result.

@martinjonas
Copy link
Contributor

@ahmed-irfan We have finished test runs of model-validation and unsat-core generation tracks. You can find the results here:

The run already uses your updated version of Yices2.

As before, you can click on the status of the benchmark to see the output of your solver. If you find any discrepancies or extra/missing logics, please let me know.

Note that we selected only SAT benchmarks for model validation and only UNSAT for unsat-core generation. As a result of that, some logics do not contain any benchmarks. So do not be surprised if you have subscribed to one of these logics and you do not have any result for it. In particular, the logics are:

For model-generation: QF_UFFP, QF_UFBVDT, QF_UFDTNIA, QF_NIRA.

For unsat-core: UFBVDT, FPLRA, QF_AUFBVFP, QF_ABVFPLRA, QF_UFBVDT, QF_UFDTNIA, QF_UFDT, QF_NIA, QF_SNIA.

@bobot
Copy link
Contributor

bobot commented Jun 14, 2024

The verification of the model using dolmen found one wrong model
Yices2.zip .

File "tmp/bad_models/Yices2/scrambled42344.smt2", line 12, character 0-37:
12 | (assert (not (= (x3 (- x6 x5)) 0.0)))
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error This hypothesis/assertion evaluates to false

(We can give more time for fixing the participation in model track)

@ahmed-irfan
Copy link
Contributor Author

@bobot I have updated the Yices2 executable.
Can you please run the model validation tests again?

Thanks!

@martinjonas martinjonas merged commit 4409c58 into SMT-COMP:master Jun 18, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
submission Submissions for SMT-COMP
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants