Neuro-Symbolic Execution: The Feasibility of an Inductive Approach to Symbolic Execution

07/02/2018
by   Shiqi Shen, et al.
0

Symbolic execution is a powerful technique for program analysis. However, it has many limitations in practical applicability: the path explosion problem encumbers scalability, the need for language-specific implementation, the inability to handle complex dependencies, and the limited expressiveness of theories supported by underlying satisfiability checkers. Often, relationships between variables of interest are not expressible directly as purely symbolic constraints. To this end, we present a new approach -- neuro-symbolic execution -- which learns an approximation of the relationship as a neural net. It features a constraint solver that can solve mixed constraints, involving both symbolic expressions and neural network representation. To do so, we envision such constraint solving as procedure combining SMT solving and gradient-based optimization. We demonstrate the utility of neuro-symbolic execution in constructing exploits for buffer overflows. We report success on 13/14 programs which have difficult constraints, known to require specialized extensions to symbolic execution. In addition, our technique solves 100% of the given neuro-symbolic constraints in 73 programs from standard verification and invariant synthesis benchmarks.

READ FULL TEXT
research
03/18/2020

Constraint Solving with Deep Learning for Symbolic Execution

Symbolic execution is a powerful systematic software analysis technique,...
research
07/12/2023

An Efficient Canonical Narrowing Implementation with Irreducibility and SMT Constraints for Generic Symbolic Protocol Analysis

Narrowing and unification are very useful tools for symbolic analysis of...
research
06/29/2020

Scaling Symbolic Methods using Gradients for Neural Model Explanation

Symbolic techniques based on Satisfiability Modulo Theory (SMT) solvers ...
research
08/23/2023

State Merging with Quantifiers in Symbolic Execution

We address the problem of constraint encoding explosion which hinders th...
research
06/26/2018

Indexing Operators to Extend the Reach of Symbolic Execution

Traditional program analysis analyses a program language, that is, all p...
research
02/28/2023

Semantic Strengthening of Neuro-Symbolic Learning

Numerous neuro-symbolic approaches have recently been proposed typically...
research
09/04/2019

Defeating Opaque Predicates Statically through Machine Learning and Binary Analysis

We present a new approach that bridges binary analysis techniques with m...

Please sign up or login with your details

Forgot password? Click here to reset