Statistical Program Slicing: a Hybrid Slicing Technique for Analyzing Deployed Software

12/31/2021
by   Bogdan Alexandru Stoica, et al.
0

Dynamic program slicing can significantly reduce the code developers need to inspect by narrowing it down to only a subset of relevant program statements. However, despite an extensive body of research showing its usefulness, dynamic slicing is still short from production-level use due to the high cost of runtime instrumentation. As an alternative, we propose statistical program slicing, a novel hybrid dynamic-static slicing technique that explores the trade-off between accuracy and runtime cost. Our approach relies on modern hardware support for control flow monitoring and a novel, cooperative heap memory tracing mechanism combined with static program analysis for data flow tracking. We evaluate statistical slicing for debugging on 21 failures from 6 widely deployed applications and show it recovers 94 overhead.

READ FULL TEXT

page 1

page 2

page 3

page 4

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
07/11/2023

DyCL: Dynamic Neural Network Compilation Via Program Rewriting and Graph Optimization

DL compiler's primary function is to translate DNN programs written in h...
research
09/27/2019

Comparing Static and Dynamic Weighted Software Coupling Metrics

Coupling metrics are an established way to measure software architecture...
research
08/24/2017

Control-Flow Residual Analysis for Symbolic Automata

Where full static analysis of systems fails to scale up due to system si...
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
03/28/2023

FineIBT: Fine-grain Control-flow Enforcement with Indirect Branch Tracking

We present the design, implementation, and evaluation of FineIBT: a CFI ...
research
07/25/2018

RuntimeSearch: Ctrl+F for a Running Program

Developers often try to find occurrences of a certain term in a software...

Please sign up or login with your details

Forgot password? Click here to reset