a16z / halmos

A symbolic testing tool for EVM smart contracts
GNU Affero General Public License v3.0
802 stars 65 forks source link

use overflow predicates for arithmetic overflow conditions #335

Open daejunpark opened 2 months ago

daejunpark commented 2 months ago

in the next SMT-LIB version 2.7, overflow predicates will be added.

use these overflow predicates instead of compiler-generated conditions, e.g., y != 0 and x * y / y != x for x * y. this may improve smt solver performance, as it enables solvers to utilize better encoding or methodologies for reasoning about overflows.