Litcius/Paper detail

Boosting SMT solver performance on mixed-bitwise-arithmetic expressions

Dongpeng Xu, Binbin Liu, Weijie Feng, Jiang Ming, Qilong Zheng, Jing Li, Qiaoyan Yu

202121 citationsDOIOpen Access PDF

Abstract

Satisfiability Modulo Theories (SMT) solvers have been widely applied in automated software analysis to reason about the queries that encode the essence of program semantics, relieving the heavy burden of manual analysis. Many SMT solving techniques rely on solving Boolean satisfiability problem (SAT), which is an NP-complete problem, so they use heuristic search strategies to seek possible solutions, especially when no known theorem can efficiently reduce the problem. An emerging challenge, named Mixed-Bitwise-Arithmetic (MBA) obfuscation, impedes SMT solving by constructing identity equations with both bitwise operations (and, or, negate) and arithmetic computation (add, minus, multiply). Common math theorems for bitwise or arithmetic computation are inapplicable to simplifying MBA equations, leading to performance bottlenecks in SMT solving.

Topics & Concepts

Bitwise operationSatisfiability modulo theoriesComputer scienceArithmeticBoolean satisfiability problemTheoretical computer scienceModuloOperandHeuristicComputationProgramming languageMathematicsDiscrete mathematicsArtificial intelligenceSoftware Testing and Debugging TechniquesFormal Methods in VerificationLogic, programming, and type systems