Faster Variational Execution with Transparent Bytecode Transformation

09/11/2018
by   Chu-Pan Wong, et al.
0

Variational execution is a novel dynamic analysis technique for exploring highly configurable systems and accurately tracking information flow. It is able to efficiently analyze many configurations by aggressively sharing redundancies of program executions. The idea of variational execution has been demonstrated to be effective in exploring variations in the program, especially when the configuration space grows out of control. Existing implementations of variational execution often require heavy lifting of the runtime interpreter, which is painstaking and error-prone. Furthermore, the performance of this approach is suboptimal. For example, the state-of-the-art variational execution interpreter for Java, VarexJ, slows down executions by 100 to 800 times over a single execution for small to medium size Java programs. Instead of modifying existing JVMs, we propose to transform existing bytecode to make it variational, so it can be executed on an unmodified commodity JVM. Our evaluation shows a dramatic improvement on performance over the state-of-the-art, with a speedup of 2 to 46 times, and high efficiency in sharing computations.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/27/2017

Control and Data Flow Execution of Java Programs

Since decade understanding of programs has become a compulsory task for ...
research
01/08/2019

A Journey Among Java Neutral Program Variants

Neutral program variants are functionally similar to an original program...
research
11/09/2022

Dynamic Slicing by On-demand Re-execution

In this paper, we propose a novel approach that aims to offer an alterna...
research
03/04/2016

Performance Localisation

Performance becomes an issue particularly when execution cost hinders th...
research
07/10/2018

Understanding Differences among Executions with Variational Traces

One of the main challenges of debugging is to understand why the program...
research
07/28/2023

Error Localization for Sequential Effect Systems (Extended Version)

We describe a new concrete approach to giving predictable error location...
research
04/30/2019

Dependence-Aware, Unbounded Sound Predictive Race Detection

Data races are a real problem for parallel software, yet hard to detect....

Please sign up or login with your details

Forgot password? Click here to reset