Title :
Predicate-based dynamic slicing of message passing programs
Author :
Rilling, Juergen ; Li, Hon F. ; Goswami, Dhrubajyoti
Author_Institution :
Dept. of Comput. Sci., Concordia Univ., Montreal, Que., Canada
Abstract :
Program slicing is a well-known decomposition technique that transforms a large program into a smaller one that contains only statements relevant to the computation of a selected function. We present a novel predicate-based dynamic slicing algorithm for message passing programs. Unlike the more traditional slicing criteria that focus only on the parts of the program that influence a variable of interest at a specific position in the program, a predicate focuses on those parts of the program that influence the predicate. The dynamic predicate slice captures some global requirements or suspected error properties of a distributed program and computes all statements that are relevant. We present an algorithm and a sample computation to illustrate how the predicate slice can be computed. Additionally, we introduce a predicate trace to classify the relevance of statement executions based on the predicate slice. A compressed predicate trace can be used to reveal those instances of statement execution that turn the global predicate true, among others.
Keywords :
distributed programming; message passing; program debugging; program slicing; reverse engineering; compressed predicate trace; distributed program; global requirements; message passing programs; predicate-based dynamic program slicing; program comprehension; program decomposition technique; program error properties; statements; Computer science; Distributed computing; Functional programming; Heuristic algorithms; Message passing; Programming profession; Software systems; Timing; Writing; Yarn;
Conference_Titel :
Source Code Analysis and Manipulation, 2002. Proceedings. Second IEEE International Workshop on
Print_ISBN :
0-7695-1793-5
DOI :
10.1109/SCAM.2002.1134113