Program Slice
-
Weiser’s definition) A subset of a program that preserves the behaviour of the program for a specific criterion.
-
Proposed Applications
- Testing
- Debugging
- Maintenance
- Re-engineering
- Re-escape
- Comprehension
- Refactoring
Static Slicing
* considers all possible executions
* for all possible inputs
Dynamic Slicing
* considers specific executions
* for a specific input, and only preserves the behaviour for that input