Abstract Interpretation under Speculative Execution

04/25/2019
by   Meng Wu, et al.
0

Analyzing the behavior of a program running on a processor that supports speculative execution is crucial for applications such as execution time estimation and side channel detection. Unfortunately, existing static analysis techniques based on abstract interpretation do not model speculative execution since they focus on functional properties of a program while speculative execution does not change the functionality. To fill the gap, we propose a method to make abstract interpretation sound under speculative execution. There are two contributions. First, we introduce the notion of virtual control flow to augment instructions that may be speculatively executed and thus affect subsequent instructions. Second, to make the analysis efficient, we propose optimizations to handle merges and loops and to safely bound the speculative execution depth. We have implemented and evaluated the proposed method in a static cache analysis for execution time estimation and side channel detection. Our experiments show that the new method, while guaranteed to be sound under speculative execution, outperforms state-of-the-art abstract interpretation techniques that may be unsound.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/28/2017

Ascertaining Uncertainty for Efficient Exact Cache Analysis

Static cache analysis characterizes a program's cache behavior by determ...
research
01/18/2023

Sound Symbolic Execution via Abstract Interpretation and its Application to Security

Symbolic execution is a program analysis technique commonly utilized to ...
research
03/31/2021

Execution of Partial State Machine Models

The iterative and incremental nature of software development using model...
research
09/28/2017

Flow-Sensitive Composition of Thread-Modular Abstract Interpretation

We propose a constraint-based flow-sensitive static analysis for concurr...
research
05/11/2020

Validation of Abstract Side-Channel Models for Computer Architectures

Observational models make tractable the analysis of information flow pro...
research
10/02/2018

Platform-Agnostic Steal-Time Measurement in a Guest Operating System

Steal time is a key performance metric for applications executed in a vi...
research
09/19/2018

Control Flow Graph Modifications for Improved RF-Based Processor Tracking Performance

Many dedicated embedded processors do not have memory or computational r...

Please sign up or login with your details

Forgot password? Click here to reset