Skip to content

Add new SMT solver: Bitwuzla #220

Open
@kfriedberger

Description

@kfriedberger

The team of Boolector developed a new SMT solver Bitwuzla that seems to be quite fast for bitvector logic (see results of SMT-COMP 2020). Bitwuzla seems to be the successor of Boolector (which has some reported limitations in its API) and might be maintained for longer.

Currently, Bitwuzla is not yet publicly available, and API documentation is missing.
Implementing suppport for this new solver into JavaSMT might be a nice student project.

TODO:

  • ask the developers of Bitwuzla to publish their solver under a decent license (Apache or LGPL would be preferred, GPL itself is not ideal).
  • optional: ask the developers of Bitwuzla to support Linux and Windows in their build scripts, because we would like to also have a Windows version of each solver. We aim for (cross-)compiling everything via GCC or MinGW on a Linux host.
  • implement the JNI and Java bindings for the solver (maybe they are similar to Boolector's bindings, from where we could copy some parts)
  • test it (several JUnit already available)
  • evaluate it (e.g. benchmarks with CPAchecker)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions