程序切片的起源与发展

程序切片始于1979年,由Mark Weise在其博士论文中提出。这项技术在软件开发、分析、形式化模型和软件测试中发挥重要作用。程序切片通过识别受修改影响的代码,帮助理解程序行为。从数据流方程算法到基于SDG的两步遍历图可达性算法,切片技术不断发展,解决多过程程序切片问题。在国内,徐宝文、张迎周和李必信等人对此有所贡献。程序切片可分为可执行与不可执行、静态、动态和有条件切片,以及后向和前向切片。
摘要由CSDN通过智能技术生成
程序切片的起源与发展
程序切片技术是一种分解程序的程序分析技术。其常用于软件测试、运行维护等方面。
  • 产生
    1979年,美国Mark Weise首次在他的博士论文中提出了程序切片思想。

  • 用途
    程序切片技术在计算机学科的很多方面都产生了丰硕的结果;此外在软件开发的各个阶段、各种计算机语言的分析、形式化模型的分析以及软件测试方面都发挥了不可低估的作用。

  • 原理
    通过对源代码进行规划,可识别由于受到修改而影响的代码。

  • 发展
    程序切片的起源与发展将按照如下图1所示顺序进行介绍
    在这里插入图片描述

初始定义
对程序P的切片准则C=(N,V)得到的切片S是从P中删去与N点处变量无关的指令和控制谓词所剩下的部分。
切片S与源程序P对于切片准则C的语义是一致的。

基础方法
M.Weiser提出程序切片的基本概念以后,接下来是如何计算程序切片。于是M.Weiser在当时比较流行的程序控制流图(CFG)的基础上建立了数据流方程。通过求解数据流方程来获得相应的程序切片;称为数据流方程算法。
1984年,K.J.Ottenstein 和 L.M.Ottenstein进一步改进(具体缘由后面给予说明),提出了程序依赖图(PDG),产生

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值