• 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