Conference Paper

Improved Program Dependence Graph and Algorithm for Static Slicing Concurrent Programs.

DOI: 10.1007/11573937_15 Conference: Advanced Parallel Processing Technologies, 6th InternationalWorkshop, APPT 2005, Hong Kong, China, October 27-28, 2005, Proceedings
Source: DBLP


Based on the comparison among existing slicing algorithms and analysis of the fact that Krinke’s algorithm [9] produces imprecise
program slice for the program structure which has loops nested with one or more threads, a conclusion is drawn that the reason
for the impreciseness is that Krinke’s data structure—threaded program dependence graph—had over coarse definitions of data
dependence relations between threads, and the constraint put on the execution path in concurrent program is unduly loose.
An improved threaded program dependence graph is proposed which adds a new dependence relation of loop-carried data dependence
crossing thread boundaries. An improved slicing algorithm is also proposed which introduces a new concept of regioned execution
witness to further constrain the execution path. The pseudo code of the algorithm adding loop-carried data dependence relations
crossing thread boundaries is given. The pseudo code of the new slicing algorithm is also given whose complexity has been
analyzed. Examples show that the improved slicing algorithm designed on the improved data structure can restrain the impreciseness
of Krinke’s.

1 Follower
4 Reads