原文链接 程序切片技术 程序依赖的痛处 我们知道,程序之间的依赖关系相当复杂,分析起来十分麻烦,效率也不高,但是如果我们只分析我们感兴趣的部分会怎么样呢?程序切片技术就是一种让我们只分析感兴趣部分的技术。 [图片] 程序切片的定义 Mark Weiser 在 1979 年提出切片技术,应用于程序调试工作。在程序调试时, ..

程序切片技术

原文链接 程序切片技术

程序依赖的痛处

我们知道,程序之间的依赖关系相当复杂,分析起来十分麻烦,效率也不高,但是如果我们只分析我们感兴趣的部分会怎么样呢?程序切片技术就是一种让我们只分析感兴趣部分的技术。

程序切片的定义

Mark Weiser 在 1979 年提出切片技术,应用于程序调试工作。在程序调试时, 程序员经常面临这样的问题,他们发现程序中某个位置的某个变量的值出错了, 此时需要追踪哪些代码能够影响这个值的计算。Mark Weiser 将这样的程序位置 n 和某个变量 v 的二元组 <n,v> 定义为切片标准,程序中影响切片标准的所有部分被称为程序切片。程序位置 n 一般用代码行号指定,而 v 可以是单一变量也可 以是变量集合。

如上图,与 print(i)有关的代码被标记出来了。

程序切片的应用场景

程序切片方法

程序切片技术分类

静态切片技术

动态切片技术

其他切片方法

>> 回到课程主目录

  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    359 引用 • 2808 回帖
  • 软件工程
    21 引用 • 80 回帖
5 回帖   
请输入回帖内容...
  • szy0syz  

    楼主关注得很细腻很底层 👍

  • Eddie

    我以为你说的是用程序进行视频切片。。。😄

    1 回复
  • PeterChu  

    emm..... 和 Spring 的 AOP 面向切面有相通之处吗?
    程序切片技术、面向切面编程 AOP面向行为编程3 者的异同是什么?如何理解呢

    1 回复
  • Hanseltu        

    对面向切片编程 AOP 或者面向行为编程不是很熟悉。从我的了解来看,两者关注点不一样,程序切片技术关注于如何对程序进行高效分析,以完成如代码调试、测试等实际任务。而面向切面编程 AOP 或者面向行为编程关注于软件设计方法,更多的像是一种指导思想,好比面向对象编程思想。

  • Hanseltu        

    😂