TASE: Reducing latency of symbolic execution with transactional memory

12/27/2019
by   Adam Humphries, et al.
0

We present the design and implementation of a tool called TASE that uses transactional memory to reduce the latency of symbolic-execution applications with small amounts of symbolic state. Execution paths are executed natively while operating on concrete values, and only when execution encounters symbolic values (or modeled functions) is native execution suspended and interpretation begun. Execution then returns to its native mode when symbolic values are no longer encountered. The key innovations in the design of TASE are a technique for amortizing the cost of checking whether values are symbolic over few instructions, and the use of hardware-supported transactional memory (TSX) to implement native execution that rolls back with no effect when use of a symbolic value is detected (perhaps belatedly). We show that TASE has the potential to dramatically improve some latency-sensitive applications of symbolic execution, such as methods to verify the behavior of a client in a client-server application.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/08/2021

Towards Symbolic Pointers Reasoning in Dynamic Symbolic Execution

Dynamic symbolic execution is a widely used technique for automated soft...
research
09/13/2021

Malware MultiVerse: From Automatic Logic Bomb Identification to Automatic Patching and Tracing

Malware and other suspicious software often hide behaviors and component...
research
09/10/2019

Selfie: User-defined Sensitive Memory Protection and Recovery

Different users always have different requirement for sensitive memory d...
research
05/02/2022

A fast in-place interpreter for WebAssembly

WebAssembly (Wasm) is a compact, well-specified bytecode format that off...
research
06/30/2020

Symbolic Execution and Debugging Synchronization

In this thesis, we introduce the idea of combining symbolic execution wi...
research
02/21/2020

Symbolic Execution Game Semantics

We present a framework for symbolically executing and model checking hig...
research
07/21/2023

Augmented Symbolic Execution for Information Flow in Hardware Designs

We present SEIF, a methodology that combines static analysis with symbol...

Please sign up or login with your details

Forgot password? Click here to reset