Neuro-Symbolic Execution: Augmenting Symbolic Execution with Neural Constraints

27Citations
Citations of this article
84Readers
Mendeley users who have this article in their library.

Abstract

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 between program values of interest, as a neural network. We develop a procedure for checking satisfiability of mixed constraints, involving both symbolic expressions and neural representations. We implement our new approach in a tool called NEUEX as an extension of KLEE, a state-of-the-art dynamic symbolic execution engine. NEUEX finds 33 exploits in a benchmark of 7 programs within 12 hours. This is an improvement in the bug finding efficacy of 94% over vanilla KLEE. We show that this new approach drives execution down difficult paths on which KLEE and other DSE extensions get stuck, eliminating limitations of purely SMT-based techniques.

References Powered by Scopus

A machine program for theorem-proving

2273Citations
N/AReaders
Get full text

Symbolic Execution and Program Testing

2258Citations
N/AReaders
Get full text

The Daikon system for dynamic detection of likely invariants

779Citations
N/AReaders
Get full text

Cited by Powered by Scopus

Deep Learning Based Vulnerability Detection: Are We There Yet?

263Citations
N/AReaders
Get full text

The Art, Science, and Engineering of Fuzzing: A Survey

258Citations
N/AReaders
Get full text

Learning to fuzz from symbolic execution with application to smart contracts

218Citations
N/AReaders
Get full text

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Cite

CITATION STYLE

APA

Shiqi, S., Shinde, S., Ramesh, S., Roychoudhury, A., & Saxena, P. (2019). Neuro-Symbolic Execution: Augmenting Symbolic Execution with Neural Constraints. In 26th Annual Network and Distributed System Security Symposium, NDSS 2019. The Internet Society. https://doi.org/10.14722/ndss.2019.23530

Readers' Seniority

Tooltip

PhD / Post grad / Masters / Doc 38

79%

Researcher 8

17%

Professor / Associate Prof. 1

2%

Lecturer / Post doc 1

2%

Readers' Discipline

Tooltip

Computer Science 52

96%

Physics and Astronomy 1

2%

Engineering 1

2%

Article Metrics

Tooltip
Social Media
Shares, Likes & Comments: 3

Save time finding and organizing research with Mendeley

Sign up for free