Front Page

The Liberty Research Group

Program Slicing of Explicitly Parallel Programs [abstract] (PDF)
Matthew Bridges
Senior Thesis, Department of Computer Science, University of Delaware, May 2002.

The main contribution of this thesis is the development of a technique for static interprocedural slicing of shared memory parallel programs. While static interprocedural slicing for sequential codes is well understood and used in a variety of applications, there are no algorithms yet developed for static interprocedural slicing of shared memory parallel programs. To facilitate the static slicing of parallel programs, a new intermediate program representation, the threaded System Dependence Graph (tSDG), is developed to encompass the parallel and worksharing constructs utilized in OpenMP. The concept of transitive dependence is redefined to include dependences caused by conflict edges in shared memory parallel programs, thus enabling interprocedural slicing of the new program representation. An algorithm for interprocedural slicing over the tSDG representation is presented. The slicing algorithm builds on the algorithms already developed for interprocedural slicing of sequential programs and the algorithms developed for intraprocedural slicing of parallel programs.