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.
Developers will have a very low cost and practical means to estimate the impact of a change within minutes versus days.
This is very important for planning the implementation of new features and understanding how a change is related to other parts of the system.
It will also provide an inexpensive test to determine if a full, more expensive, analysis of the system is warranted.
That is, slicing can now be conducted on very large systems and on entire version histories in very practical time frames.
This opens the door to a number of experiments and empirical investigations previously too costly to undertake.