چكيده لاتين :
Internal representation and static slicing algorithm of concurrent programs are studied. Based on the comparison among existed slicing algorithms and analysis of the fact that Krinkeיs algorithm produced
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 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 shows that the improved slicing algorithm
designed on the improved data structure can restrain the impreciseness of Krinkeיs.