定义:一个程序切片是由程序中的一些语句和判定表达式组成的集合.这些语句和判定表达式可能会影响在程序的某个位置(常用行号标识)p上所定义的或所使用的变量v的值。
所谓程序切片是指通过分析程序的数据依赖和控制依赖而达到自动分解源程序的一种方法.其中数据依赖揭示了语句间存在的数据流方面的内在联系而控制依赖则揭示了语句间存在的控制流的内在联系。
程序P的切片S是P的一个可执行部分,对某个兴趣点s处的变量v而言,这个可执行部分相对于程序P,在功能上是等效的[1].程序切片S由程序P中可能影响s处变量v的值的所有语句组成。
程序切片是一种分析和理解程序的技术,是通过对源程序中每个兴趣点分别计算切片来达到对程序的分析和理解.程序中某个兴趣点的程序切片不仅与在该点定义和使用的变量有关,而且与影响该变量的值的语句和谓词以及受该变量的值影响的语句和谓词有关.
你现在学java吧?java我还没学,所以用python来比喻,应该很容易看懂
你可以把数组比喻成一块面包,
而里面的每一个数据就是一片面包
索引是直接输出位置
比如说我要第一块面包 str[0]
我要最后一块面包 str[-1]
切片是把想要的部分留下
我要第一块面包就是 str[0]
我要第一块后面的所有面包就是 str[1:]
我要第一块后面的所有面包并且最后一块 不要 str[1:-1] -1表示最后一块
再拓展一下
我要第一块后面的的面包并且每隔一块再拿
就是 str[1::2]
str{起始位置:终点位置:跳跃取值}
带有分号的就是切片
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)