Abstract program slicing: an abstract interpretation-based approach to program slicing
From MaRDI portal
Abstract: In the present paper we formally define the notion of abstract program slicing, a general form of program slicing where properties of data are considered instead of their exact value. This approach is applied to a language with numeric and reference values, and relies on the notion of abstract dependencies between program components (statements). The different forms of (backward) abstract slicing are added to an existing formal framework where traditional, non-abstract forms of slicing could be compared. The extended framework allows us to appreciate that abstract slicing is a generalization of traditional slicing, since traditional slicing (dealing with syntactic dependencies) is generalized by (semantic) non-abstract forms of slicing, which are actually equivalent to an abstract form where the identity abstraction is performed on data. Sound algorithms for computing abstract dependencies and a systematic characterization of program slices are provided, which rely on the notion of agreement between program states.
Recommendations
Cites work
- scientific article; zbMATH DE number 1948410 (Why is no real title available?)
- scientific article; zbMATH DE number 194642 (Why is no real title available?)
- A formalisation of the relationship between forms of program slicing
- A logic for information flow analysis with an application to forward slicing of simple imperative programs
- A unifying theory of control dependence and its application to arbitrary program structures
- Abstract non-interference
- Algebraic properties of program integration
- An axiomatic basis for computer programming
- Assertion-based slicing and slice graphs
- Computer Science Logic
- Dijkstra-Scholten predicate calculus: Concepts and misconceptions
- Dynamic program slicing
- Guarded commands, nondeterminacy and formal derivation of programs
- Making abstract interpretations complete
- Program Slicing
- Reachability-based acyclicity analysis by abstract interpretation
- Specifying Imperative Data Obfuscations
- Static Analysis
- Static Analysis
- Systematic design of program transformation frameworks by abstract interpretation
- Theoretical foundations of dynamic program slicing
- Verification, Model Checking, and Abstract Interpretation
Cited in
(14)- Programming Languages and Systems
- A formalisation of the relationship between forms of program slicing
- Assertion-based slicing and slice graphs
- Assertion-based analysis via slicing withABETS(system description)
- Twinning automata and regular expressions for string static analysis
- scientific article; zbMATH DE number 5506101 (Why is no real title available?)
- Formalizing a Framework for Dynamic Slicing of Program Dependence Graphs in Isabelle/HOL
- Abstract State Machines 2004. Advances in Theory and Practice
- Improving dynamic code analysis by code abstraction
- A novel formal approach to program slicing
- Dynamic slicing: a generic analysis based on a natural semantics format
- A non-standard semantics for program slicing and dependence analysis
- Abstract semantic dependency
- Programming Languages and Systems
This page was built for publication: Abstract program slicing: an abstract interpretation-based approach to program slicing
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q5278199)