Backward slicing(向后切片/逆向切片):在程序分析中,从某个“切片准则”(通常是某一行语句、某个变量在某个位置的值)出发,向程序的前面追溯,找出所有可能影响该位置变量取值或程序状态的语句集合。常用于调试、理解代码、定位缺陷与安全分析。
(该术语也存在与之相对的 forward slicing:向前找出受影响的语句。)
/ˈbækwɚd ˈslaɪsɪŋ/
We used backward slicing to find where the wrong value came from.
我们用向后切片来找出错误数值是从哪里传来的。
In the security audit, backward slicing from the database write helped identify all inputs and checks that could influence the final query.
在安全审计中,从数据库写入点做向后切片,有助于识别所有可能影响最终查询的输入与校验逻辑。
backward 意为“向后、逆向”,slicing 源自 “slice(切片)”,比喻把程序按某个关注点“切”出一部分来研究。合在一起,backward slicing 就是“沿依赖关系向后追踪、切出影响来源的代码子集”。该概念在程序切片(program slicing)研究中广泛使用,常与数据依赖、控制依赖等分析配合出现。