DocumentCode
415756
Title
Efficient forward computation of dynamic slices using reduced ordered binary decision diagrams
Author
Zhang, Xiangyu ; Gupta, Rajiv ; Zhang, Youtao
Author_Institution
Dept. of Comput. Sci., Arizona Univ., Tucson, AZ, USA
fYear
2004
fDate
23-28 May 2004
Firstpage
502
Lastpage
511
Abstract
Dynamic slicing algorithms can greatly reduce the debugging effort by focusing the attention of the user on a relevant subset of program statements. Recently, algorithms for forward computation of dynamic slices have been proposed which maintain dynamic slices of all variables as the program executes. An advantage of this approach is that when a request for a slice is made, it is already available. The main disadvantage of using such an algorithm for slicing realistic programs is that the space and time required to maintain a large set of dynamic slices corresponding to all program variables can be very high. In this paper, we analyze the characteristics of dynamic slices and identify properties that enable space efficient representation of a set of dynamic slices. We show that by using reduced ordered binary decision diagrams (roBDDs) to represent a set of dynamic slices, the space and time requirements of maintaining dynamic slices are greatly reduced. In fact, not only can the latest dynamic slices of all variables be easily maintained, but rather all dynamic slices of all variables throughout a program´s execution can be maintained. Our experiments show that our roBDD based algorithm for forward computation of dynamic slices can maintain 107-217 million dynamic slices arising during long program runs using only 28-392 megabytes of storage. In addition, the performance of the roBDD based forward computation method compares favorably with the performance of the LP backward computation algorithm.
Keywords
binary decision diagrams; program debugging; program slicing; software maintenance; LP backward computation algorithm; dynamic slices computation; dynamic slicing algorithm; program execution; program slicing; program statements; program variables; reduced ordered binary decision diagrams; Application software; Boolean functions; Computer science; Data analysis; Data structures; Debugging; Heuristic algorithms; Software maintenance; Software measurement; Software testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 2004. ICSE 2004. Proceedings. 26th International Conference on
ISSN
0270-5257
Print_ISBN
0-7695-2163-0
Type
conf
DOI
10.1109/ICSE.2004.1317472
Filename
1317472
Link To Document