Program slicing

In computer programming, program slicing is the computation of the set of program statements, the program slice, that may affect the values at some point of interest, referred to as a slicing criterion. Program slicing can be used in debugging to locate source of errors more easily. Other applications of slicing include software maintenance, optimization, program analysis, and information flow control.

Slicing techniques have been seeing a rapid development since the original definition by Mark Weiser. At first, slicing was only static, i.e., applied on the source code with no other information than the source code. Bogdan Korel and Janusz Laski introduced dynamic slicing, which works on a specific execution of the program (for a given execution trace).[1] Other forms of slicing exist, for instance path slicing.[2]

  1. ^ Korel, Bogdan; Laski, Janusz (1988). "Dynamic Program Slicing". Information Processing Letters. 29 (3): 155–163. CiteSeerX 10.1.1.158.9078. doi:10.1016/0020-0190(88)90054-3.
  2. ^ Jhala, Ranjit; Majumdar, Rupak (2005). "Path slicing". Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation. PLDI '05. New York, NY, USA: ACM. pp. 38–47. doi:10.1145/1065010.1065016. ISBN 9781595930569. S2CID 5065847.