Dynamic Slicing by On-demand Re-execution

11/09/2022
by   Ivan Postolski, et al.
0

In this paper, we propose a novel approach that aims to offer an alternative to the prevalent paradigm to dynamic slicing construction. Dynamic slicing requires dynamic data and control dependencies that arise in an execution. During a single execution, memory reference information is recorded and then traversed to extract dependencies. Execute-once approaches and tools are challenged even by executions of moderate size of simple and short programs. We propose to shift practical time complexity from execution size to slice size. In particular, our approach executes the program multiple times while tracking targeted information at each execution. We present a concrete algorithm that follows an on-demand re-execution paradigm that uses a novel concept of frontier dependency to incrementally build a dynamic slice. To focus dependency tracking, the algorithm relies on static analysis. We show results of an evaluation on the SV-COMP benchmark and Antrl4 unit tests that provide evidence that on-demand re-execution can provide performance gains particularly when slice size is small and execution size is large.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/08/2022

Focused Dynamic Slicing for Large Applications using an Abstract Memory-Model

Dynamic slicing techniques compute program dependencies to find all stat...
research
09/11/2018

Faster Variational Execution with Transparent Bytecode Transformation

Variational execution is a novel dynamic analysis technique for explorin...
research
11/07/2021

Sdft: A PDG-based Summarization for Efficient Dynamic Data Flow Tracking

Dynamic taint analysis (DTA) has been widely used in various security-re...
research
05/22/2017

On the computational complexity of dynamic slicing problems for program schemas

Given a program, a quotient can be obtained from it by deleting zero or ...
research
08/28/2022

Assessing the Impact of Execution Environment on Observation-Based Slicing

Program slicing reduces a program to a smaller version that retains a ch...
research
05/11/2018

Breaking the Scalability Barrier of Causal Broadcast for Large and Dynamic Systems

Many distributed protocols and applications rely on causal broadcast to ...
research
03/14/2018

A Static Program Slicing Approach for Output Stream Objects in JEE Applications

In this paper, we propose a program slicing approach for the output stre...

Please sign up or login with your details

Forgot password? Click here to reset