arrow
Return

Computation of dynamic program slices for unstructured programs

delete1997-01-01
delete42
PRE
AI
B
Bogdan Korel *
DOI:10.1109/32.581327delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
A dynamic program slice is an executable part of the program whose behavior is identical, for the same program input, to that of the original program with respect to a variable(s) of interest at some execution position. The existing algorithms of dynamic slice computation use data and control dependencies to compute dynamic slices. These algorithms are limited to structured programs because, as we will show, they may compute incorrect dynamic slices for unstructured programs due to the limitations of control dependencies that are used to compute dynamic slices. In this paper we present a novel approach of dynamic slice computation for unstructured programs. The approach employs the notion of a removable block in finding dynamic program slices. Dynamic slices are derived by identifying not only these parts of program execution that contribute to the computation of the value of a variable of interest, but also these parts of program execution that do not contribute to the computation of the variable value. Data dependencies are used to identify contributing computations, whereas removable blocks are used to identify noncontributing computations. We have proven that the presented dynamic slicing algorithms compute correctly dynamic slices. In addition, these algorithms may compute more accurate dynamic slices as opposed to the existing algorithms that use control dependencies. The presented algorithms have been implemented in a dynamic slicing tool that supports dynamic slicing for Pascal programs.
Keywords:
program slicing
dynamic program slicing
removable block
control dependence
data dependence
execution trace
unstructured program
debugging
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.9K
Citations:
1.1W

Organization

No organization information available
Cited Papers

Cited Papers

Urea and Hearing in Patients with Menière's Disease
err2009-10-12
err0
PREAI
errC. Angelborg; I. Klockhoff; J. Stahle
errShare
errSave
A randomized phase I/II trial of HQK‐1001, an oral fetal globin gene inducer, in β‐thalassaemia intermedia and HbE/β‐thalassaemia
err2013-03-27
err0
errOAAI
errSuthat Fucharoen; Adlette Inati; Noppadol Siritanaratku; Swee L. Thein; William C. Wargin; Suzanne Koussa; Ali Taher; Nattawara Chaneim; Michael Boosalis; Ronald Berenson; Susan P. Perrine
errShare
errSave
Supervised Phenotype Discovery From Multimodal Brain Imaging
err2023-03-01
err0
errOAAI
errWeikang Gong; Song Bai; Ying-Qiu Zheng; Stephen M. Smith; Christian F. Beckmann
errShare
errSave
Biometric Security
err2017-01-01
err0
PREAI
errMuzhir Shaban Al-Ani
errShare
errSave
Late Bronze Age climate change and the destruction of the Mycenaean Palace of Nestor at Pylos
err2017-12-27
err0
errOAAI
errMartin Finné; Karin Holmgren; Chuan-Chou Shen; Hsun-Ming Hu; Meighan Boyd; Sharon Stocker
errShare
errSave
Continuous wave laser operation of Tm and Ho co-doped CaYAlO4 and CaGdAlO4 crystals
err2015-02-01
err0
PREAI
errShufang Gao; Zhenyu You; Jinglong Xu; Yijian Sun; Chaoyang Tu
errShare
errSave
err2003-01-01
err0
PREAI
errIrma Tomažič; Zora Korošec-Koruza
errShare
errSave
researcher View more