As long as a branch of science offers an abundance of problems, so long is it alive: a lack of problems foreshadows extinction or the cessation of independent development." --David Hilbert, 1900.
AbstractAlthough both static and dynamic slicing of sequential programs have been applied to software engineering practices, there still are some challenges, problems, and issues in slicing concurrent programs, in particular, dynamic slicing of concurrent programs. This paper presents a methodological review of dynamic slicing methods for concurrent programs, points out that the most intrinsic problem in all existing dynamic slicing methods is the uncertainty problem, and shows a new research direction for dynamic slicing of concurrent programs. The paper proposes two basic criteria, i.e., completeness and soundness, for dynamic slicing of concurrent programs, and shows that we should develop a dependence/influence analysis method based on selfmeasurement principle to obtain complete and sound dynamic slices of concurrent programs.