Overapproximation of Non-Linear Integer Arithmetic for Smart Contract Verification
Petra Hozzová, Jaroslav Bendík, Alexander Nutz, Yoav Rodeh
TL;DR
This case study focuses on the two overapproximation techniques used by the industry verification tool Certora Prover: over approximation of non-linear integer arithmetic using linear integer arithmetic and using non- linear real arithmetic.
Abstract
The need to solve non-linear arithmetic constraints presents a major obstacle to the automatic verification of smart contracts. In this case study we focus on the two overapproximation techniques used by the industry verification tool Certora Prover: overapproximation of non-linear integer arithmetic using linear integer arithmetic and using non-linear real arithmetic. We compare the performance of contemporary SMT solvers on verification conditions produced by the Certora Prover using these two approximations against the natural non-linear integer arithmetic encoding. Our evaluation shows that the use of the overapproximation methods leads to solving a significant number of new problems.
