Boosting SMT Solver Performance on Mixed-Bitwise-Arithmetic Expressions
Thu 24 Jun 2021 21:25 - 21:30 at PLDI-B - Talks 3B: Architectures and Systems
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.
In this paper, we first scrutinize solvers' performance on solving different categories of MBA expressions: linear, polynomial, and non-polynomial. We observe that solvers can handle simple linear MBA expressions, but facing a severe performance slowdown when solving complex linear and non-linear MBA expressions. The root cause is that complex MBA expressions break the reduction laws for pure arithmetic or bitwise computation. To boost solvers' performance, we propose a semantic-preserving transformation to reduce the mixing degree of bitwise and arithmetic operations. We first calculate a signature vector based on the truth table extracted from an MBA expression, which captures the complete MBA semantics. Next, we generate a simpler MBA expression from the signature vector. Our large-scale evaluation on 3000 complex MBA equations shows that our technique significantly boost modern SMT solvers' performance on solving MBA formulas.
Thu 24 JunDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 09:40 | |||
09:00 5mTalk | Reticle: A Virtual Machine for Programming Modern FPGAs PLDI Luis Vega University of Washington, Joseph McMahan University of Washington, Adrian Sampson Cornell University, Dan Grossman University of Washington, Luis Ceze University of Washington DOI | ||
09:05 5mTalk | Revamping Hardware Persistency Models: View-Based and Axiomatic Persistency Models for Intel-x86 and Armv8 PLDI Kyeongmin Cho KAIST, Sung-Hwan Lee Seoul National University, Azalea Raad Imperial College London, Jeehoon Kang KAIST DOI | ||
09:10 5mTalk | Developer and User-Transparent Compiler Optimization for Interactive Applications PLDI Paschalis Mpeis University of Edinburgh, Pavlos Petoumenos University of Manchester, Kim Hazelwood Facebook AI Research, Hugh Leather Facebook Link to publication DOI Media Attached | ||
09:15 5mTalk | Perceus: Garbage Free Reference Counting with Reuse PLDI Alex Reinking Microsoft Research, Ningning Xie University of Toronto, Leonardo de Moura Microsoft Research, Daan Leijen Microsoft Research DOI | ||
09:20 5mTalk | Filling Typed Holes with Live GUIs PLDI Cyrus Omar University of Michigan, David Moon University of Michigan, Andrew Blinn University of Michigan, Ian Voysey Carnegie Mellon University, Nick Collins University of Chicago, Ravi Chugh University of Chicago DOI Pre-print | ||
09:25 5mTalk | Boosting SMT Solver Performance on Mixed-Bitwise-Arithmetic Expressions PLDI Dongpeng Xu University of New Hampshire, Binbin Liu University of New Hampshire; University of Science and Technology of China, Weijie Feng University of Science and Technology of China, Jiang Ming University of Texas at Arlington, Qilong Zheng University of Science and Technology of China, Jing Li University of Science and Technology of China, Qiaoyan Yu University of New Hampshire DOI | ||
09:30 5mTalk | Automatically Enforcing Fresh and Consistent Inputs in Intermittent Systems PLDI Milijana Surbatovich Carnegie Mellon University, Limin Jia Carnegie Mellon University, Brandon Lucia Carnegie Mellon University DOI | ||
09:35 5mTalk | Bliss: Auto-tuning Complex Applications using a Pool of Diverse Lightweight Learning Models PLDI Rohan Basu Roy Northeastern University, Tirthak Patel Northeastern University, Vijay Gadepally MIT Lincoln Laboratory, Devesh Tiwari Northeastern University DOI |
21:00 - 21:40 | |||
21:00 5mTalk | Reticle: A Virtual Machine for Programming Modern FPGAs PLDI Luis Vega University of Washington, Joseph McMahan University of Washington, Adrian Sampson Cornell University, Dan Grossman University of Washington, Luis Ceze University of Washington DOI | ||
21:05 5mTalk | Revamping Hardware Persistency Models: View-Based and Axiomatic Persistency Models for Intel-x86 and Armv8 PLDI Kyeongmin Cho KAIST, Sung-Hwan Lee Seoul National University, Azalea Raad Imperial College London, Jeehoon Kang KAIST DOI | ||
21:10 5mTalk | Developer and User-Transparent Compiler Optimization for Interactive Applications PLDI Paschalis Mpeis University of Edinburgh, Pavlos Petoumenos University of Manchester, Kim Hazelwood Facebook AI Research, Hugh Leather Facebook Link to publication DOI Media Attached | ||
21:15 5mTalk | Perceus: Garbage Free Reference Counting with Reuse PLDI Alex Reinking Microsoft Research, Ningning Xie University of Toronto, Leonardo de Moura Microsoft Research, Daan Leijen Microsoft Research DOI | ||
21:20 5mTalk | Filling Typed Holes with Live GUIs PLDI Cyrus Omar University of Michigan, David Moon University of Michigan, Andrew Blinn University of Michigan, Ian Voysey Carnegie Mellon University, Nick Collins University of Chicago, Ravi Chugh University of Chicago DOI Pre-print | ||
21:25 5mTalk | Boosting SMT Solver Performance on Mixed-Bitwise-Arithmetic Expressions PLDI Dongpeng Xu University of New Hampshire, Binbin Liu University of New Hampshire; University of Science and Technology of China, Weijie Feng University of Science and Technology of China, Jiang Ming University of Texas at Arlington, Qilong Zheng University of Science and Technology of China, Jing Li University of Science and Technology of China, Qiaoyan Yu University of New Hampshire DOI | ||
21:30 5mTalk | Automatically Enforcing Fresh and Consistent Inputs in Intermittent Systems PLDI Milijana Surbatovich Carnegie Mellon University, Limin Jia Carnegie Mellon University, Brandon Lucia Carnegie Mellon University DOI | ||
21:35 5mTalk | Bliss: Auto-tuning Complex Applications using a Pool of Diverse Lightweight Learning Models PLDI Rohan Basu Roy Northeastern University, Tirthak Patel Northeastern University, Vijay Gadepally MIT Lincoln Laboratory, Devesh Tiwari Northeastern University DOI |