Perfect Decision Trees of Minimum Size

Session date: 3 March 2025

Session host: Koos van der Linden

Summary:

We address the challenge of developing efficient Constraint Programming-based approaches for solving formulas over the quantifier-free fragment of the theory of bitvectors (BV), which is of paramount importance in software verification. We propose CP(BV), a highly efficient BV resolution technique built on carefully chosen anterior results sharpened with key original features such as thorough domain combination or dedicated labeling. Extensive experimental evaluations demonstrate that CP(BV) is much more efficient than previous similar attempts from the CP community, that it is indeed able to solve the majority of the standard verification benchmarks for bitvectors, and that it already complements the standard SMT approaches on several crucial (and industry-relevant) aspects, notably in terms of scalability w.r.t. bit-width, theory combination or intricate mix of non-linear arithmetic and bitwise operators. This work paves the way toward building competitive CP-based verification-oriented solvers.

Relevant papers

  1. Constructing optimal binary decision trees is NP-complete
    Laurent Hyafil, and Ronald L. Rivest
    Information Processing Letters, Jun 1976
  2. Witty: An Efficient Solver for Computing Minimum-Size Decision Trees
    Luca Pascal Staus, Christian Komusiewicz, Frank Sommer, and 1 more author
    Jun 2024