9.1.5 切片
我们再来看模n的取幂函数如下的代码,假设,当你读到第13行时,对变量k产生了一些疑问。


你的疑问是,如果我们发现当程序执行到第13行时k的值已经不正确了(比如大于w了),那么有哪些语句可能造成这一情况,哪些语句绝对与此无关呢?切片就是一种专门用来回答这类问题的技术。针对上面这个问题我们只需要一个后向切片——backwards-slice(13,k),即把所有可能影响第13行变量k的值的语句全部罗列出来就行了,如下所示:

注意,如果计算的是backwards-slice(11,s),将会把程序中每一句语句都标出来。这是因为程序中每条语句都会以某种形式对第11行中的变量s产生影响。