Efficient Forward Computation of Dynamic Slices Using Reduced Ordered Binary Decision Diagrams

Dynamic slicing algorithms can greatly reduce the debuggingeffort by focusing the attention of the user on a relevantsubset of program statements. Recently algorithms forforward computation of dynamic slices have beenproposed which maintain dynamic slices of all variables asthe program executes. An...

Full description

Saved in:
Bibliographic Details
Published in:International Conference on Software Engineering: Proceedings of the 26th International Conference on Software Engineering; 23-28 May 2004 pp. 502 - 511
Main Authors: Zhang, Xiangyu, Gupta, Rajiv, Zhang, Youtao
Format: Conference Proceeding
Language:English
Published: Washington, DC, USA IEEE Computer Society 23.05.2004
Series:ACM Conferences
Subjects:
ISBN:9780769521633, 0769521630
ISSN:0270-5257
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Dynamic slicing algorithms can greatly reduce the debuggingeffort by focusing the attention of the user on a relevantsubset of program statements. Recently algorithms forforward computation of dynamic slices have beenproposed which maintain dynamic slices of all variables asthe program executes. An advantage of this approach is thatwhen a request for a slice is made, it is already available.The main disadvantage of using such an algorithm for slicingrealistic programs is that the space and time requiredto maintain a large set of dynamic slices corresponding toall program variables can be very high. In this paper weanalyze the characteristics of dynamic slices and identifyproperties that enable space efficient representation of a setof dynamic slices. We show that by using reduced orderedbinary decision diagrams (roBDDs) to represent a set ofdynamic slices, the space and time requirements of maintainingdynamic slices are greatly reduced. In fact not onlycan the latest dynamic slices of all variables be easilymaintained, but rather all dynamic slices of all variablesthroughout a programýs execution can be maintained. Ourexperiments show that our roBDD based algorithm for forwardcomputation of dynamic slices can maintain 107-217million dynamic slices arising during long program runs usingonly 28-392 megabytes of storage. In addition, the performanceof the roBDD based forward computation methodcompares favorably with the performance of the LP backwardcomputation algorithm.
Bibliography:SourceType-Conference Papers & Proceedings-1
ObjectType-Conference Paper-1
content type line 25
ISBN:9780769521633
0769521630
ISSN:0270-5257
DOI:10.5555/998675.999454