SATMiner is a library for searching interesting patterns using constraint programming/SAT backend. It was initially developed as a prototype for the DAG project, in collaboration with people at CRIL.

It is currently used as a basis for experiments on SAT/pseudo boolean based pattern mining on:

  • sequences
  • attributes sets in relational data (SatQL language)

The current version is coded in Java and uses SAT4J and a modified version of MiniSat as backends. It also uses the BoolVar/PB library, as well as an implementation of cardinality networks for translation of some pseudo-boolean constraints to SAT.


GIT, stable branch:, lastest stable binary jar file

  • source (2014-05-12, changed syntax for SatQL1): now SQL expressions (queries and conditions) should be in “{ }” braces and Java joins are not available anymore. However arbitrary SQL expressions can now be used)
  • source (2014-04-15, added IF THEN, LIKE, LIMIT to SatQL, version including bench datasets)
  • source (2014-02-18, includes Boolvar/PB and a modified version of minisat, fixes compilation problems)
  • source (2014-02-17, includes Boolvar/PB and a modified version of minisat)

Involved people

this breaks backward compatibility