图书介绍

程序切片技术及其应用PDF|Epub|txt|kindle电子书版本网盘下载

程序切片技术及其应用
  • 李必信编著 著
  • 出版社: 北京:科学出版社
  • ISBN:7030169441
  • 出版时间:2006
  • 标注页数:297页
  • 文件大小:15MB
  • 文件页数:312页
  • 主题词:软件 分析

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

程序切片技术及其应用PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 概论3

1.1 程序切片技术的起源和发展3

上篇 程序切片技术基本原理3

1.1.1 从数据流方程到程序依赖图4

1.1.2 从可执行的程序切片到不可执行的程序切片5

1.1.3 静态切片、动态切片和有条件切片6

1.1.4 后向切片和前向切片7

1.1.5 从源程序代码切片到软件规约切片7

1.1.6 从单一切片到多种切片8

1.2.2 软件维护9

1.2 程序切片技术的应用概述9

1.2.1 程序调试9

1.2.3 回归测试10

1.2.4 软件度量11

1.2.5 软件重用11

1.2.6 软件安全11

1.3 程序切片工具简介12

1.3.1 支持C语言的PST12

1.3.4 支持Java语言的PST13

1.3.2 支持Ada语言的PST13

1.3.3 支持Oberon-2语言的PST13

1.3.5 其他PST14

小结14

思考题14

参考文献15

第2章 图论基础17

2.1 控制流图17

2.1.1 基本模块17

2.1.2 控制流图定义18

2.1.3 基本属性19

2.2 控制流分析20

2.2.1 控制流20

2.2.2 控制流的表示方法20

2.2.3 支配节点和后必经节点21

2.2.4 循环识别23

2.3 数据流分析24

2.3.1 可到达定义24

2.3.2 数据流方程26

2.3.3 活性分析28

2.4 数据依赖和控制依赖30

2.4.1 控制依赖30

2.4.2 数据依赖31

2.5 程序依赖图31

2.5.1 过程内依赖图32

2.5.2 过程间依赖图32

小结32

参考文献33

思考题33

第3章 静态程序切片35

3.1 引言35

3.2 Mark Weiser程序切片35

3.2.1 初步理解36

3.2.2 基本术语37

3.2.3 Mark Weiser的数据流算法42

3.3 过程内切片43

3.3.1 构造程序依赖图43

3.3.3 例子分析44

3.3.2 图可达性算法44

3.4 过程间切片46

3.4.1 构造系统依赖图46

3.4.2 构造特征子图的算法48

3.4.3 过程间切片的算法51

小结54

思考题54

参考文献54

4.1 引言56

第4章 动态程序切片56

4.2 基本术语57

4.2.1 程序依赖图和静态切片57

4.2.2 执行历史和动态切片准则58

4.3 Agrawal和Horgan的动态切片59

4.3.1 动态切片方法159

4.3.2 动态切片方法260

4.3.3 动态切片方法362

4.3.4 动态切片方法463

小结65

4.4 Korel和Laski的动态切片65

思考题66

参考文献66

第5章 有条件程序切片68

5.1 引言68

5.2 有条件切片69

5.2.1 准静态切片69

5.2.2 同时动态切片70

5.2.3 一般的有条件切片模型70

5.2.4 有条件切片计算72

5.3 切片模型关系分析76

5.4 分割分析77

小结78

思考题78

参考文献79

第6章 面向对象程序切片80

6.1 引言80

6.2 传统系统依赖图的缺陷分析81

6.3.1 OOSDG的基本组成模型83

6.3 面向对象系统依赖图83

6.3.2 OOSDG对SDG的扩充84

6.3.3 类依赖图86

6.3.4 虚函数调用图的构造88

6.3.5 OOSDG的构造算法95

6.3.6 基于OOSDG的程序切片算法97

小结97

思考题97

参考文献98

7.1 引言100

第7章 并发程序切片100

7.2 Cheng的并发程序切片思想101

7.3 Krinke多线程程序静态切片方法102

7.3.1 线程控制流图102

7.3.2 线程程序依赖图104

7.3.3 基于tPDG的切片105

7.4 Nanda和Ramesh的并发程序切片方法109

7.5 并发程序的动态切片112

7.5.1 进程图和静态程序依赖图112

7.5.3 构建DPDG113

7.5.2 进程图到并发图113

7.6.1 Zhao的早期方法114

7.6 面向对象并发程序的切片方法114

7.6.2 Java并发程序的切片方法115

小结116

思考题117

参考文献117

8.1 形式规约切片118

8.1.1 静态形式规约切片118

第8章 规约切片118

8.1.2 动态形式规约切片121

8.1.3 其他形式规约切片121

8.2 基于规约的程序切片122

8.2.1 前置和后置条件122

8.2.2 基于规约的切片123

8.3 体系结构规约切片126

8.3.1 体系结构规约126

8.3.2 体系结构切片定义128

8.3.3 体系结构信息流图和体系结构切片的计算129

8.4 动态软件体系结构切片130

8.5 JVM规约切片131

小结132

思考题132

参考文献132

第9章 新型切片变体135

9.1 无定型切片135

9.1.1 程序投影135

9.1.2 无定型简单性度量136

9.1.3 无定型静态切片137

9.1.4 无定型有条件切片138

9.1.5 无定型切片的实现以及相关问题139

9.2 削片139

9.2.1 静态削片139

9.2.2 动态削片140

9.2.3 削片的性质和构造策略141

9.3 砍片143

小结143

参考文献144

思考题144

中篇 程序切片技术的基本应用147

第10章 程序调试147

10.1 引言147

10.1.1 什么是程序调试147

10.1.2 为什么用切片进行调试148

10.2 如何用切片辅助程序调试150

10.2.1 调试中的错误分析及切片选取150

10.3.1 C-Debug151

10.2.2 面向对象程序切片与调试151

10.3 基于切片的调试工具151

10.3.2 SPYDER152

小结153

思考题154

参考文献154

第11章 波动分析155

11.1 引言155

11.3.1 定义修改157

11.3 后向切片存在的必要性157

11.2 程序切片与REA过程157

11.3.2 使用修改158

11.3.3 控制修改158

11.4 程序切片运算159

11.5 直接波动和诱导波动161

11.5.1 通用程序切片161

11.5.2 REA例子162

小结163

参考文献164

思考题164

第12章 软件测试165

12.1 引言165

12.2 基于程序切片的软件测试165

12.2.1 例子简介166

12.2.2 依赖图模型167

12.2.3 基本性质169

12.3 回归测试170

12.3.1 受影响的定义-使用关系类型171

12.3.2 BackwardWalk算法172

12.3.3 ForwardWalk算法173

12.3.4 进一步讨论176

12.3.5 回归测试的一般步骤181

12.4 基于切片技术的软件测试工具模型182

小结184

思考题184

参考文献184

第13章 软件维护186

13.1 引言186

13.3 分解切片与软件维护187

13.2 软件维护模型187

13.3.1 分解切片188

13.3.2 使用分解切片的几条规则189

13.4 联合切片与软件维护191

13.4.1 联合切片191

13.4.2 利用联合切片维护软件192

13.5 基于切片的软件维护模型193

小结193

思考题193

参考文献194

第14章 复杂性度量195

14.1 引言195

14.2 早期基于切片的度量197

14.3 内聚度量198

14.3.1 数据切片198

14.3.2 胶水、强力胶水和粘性200

14.3.3 内聚度量200

14.3.4 类内切片和类内聚202

14.4 耦合度量205

14.4.1 Java源代码中存在的耦合问题分析206

14.4.2 基于切片的Java耦合度量框架210

小结214

思考题214

参考文献214

第15章 软件安全215

15.1 引言215

15.2 软件安全分析的几种常用方法216

15.2.1 失效模式效应分析法216

15.2.3 Petri网分析法217

15.2.2 软件故障树分析法217

15.3.1 共同模式失效问题219

15.3.2 临界安全组件219

15.3 临界安全组件与软件故障树分析219

15.4 基于程序切片的共同模式失效分析方法220

15.4.1 基本原理221

15.4.2 例子分析222

小结225

思考题225

参考文献225

第16章 软件重用227

16.1 引言227

16.2 转换切片与重用228

16.3 有条件切片与重用228

16.4 规约驱动切片与重用230

16.5 软件体系结构切片与重用233

思考题234

参考文献234

小结234

第17章 应用扩展235

17.1 程序分析理解235

17.1.1 Lucia等人的初步思想236

17.1.2 Korel的大型程序理解手段237

17.1.3 Kumar的CONCEPT技术238

17.2 逆向工程和再工程239

17.2.1 传统切片239

17.2.2 接口切片240

17.3.1 静态语义规约和类型检查241

17.3 Tip的类型错误定位方法241

17.3.2 项重写和依赖追踪242

17.3.3 切片精确度问题243

17.4 程序验证244

17.5 其他应用245

小结245

思考题246

参考文献246

第18章 层次切片模型及其实现251

18.1 面向对象程序的层次结构模型251

下篇 程序切片技术展望251

18.2 层次切片模型252

18.3 SSA算法的基本思想253

18.4 HSM和SSA的实现254

18.4.1 代码信息树256

18.4.2 依赖图的生成算法和切片算法262

18.5 Jato——Java程序切片工具273

18.5.1 依赖图生成层274

18.5.2 切片生成层275

18.6 层次切片复杂度277

小结278

思考题278

参考文献278

第19章 层次切片模型的应用280

19.1 静态信息流分析280

19.2 耦合度量282

19.2.1 方法m1和m2之间的耦合度量283

19.2.2 类c的耦合度量283

19.3.2 功能内聚284

19.3.1 子功能内聚284

19.3 内聚度量284

19.4 复杂度度量285

小结286

思考题286

参考文献286

第20章 结束语288

20.1 基本原理总结288

20.2 基本应用总结288

20.3.2 无定型程序切片289

20.3.1 程序切片的形式语义289

20.3 未来研究课题289

20.3.3 规约切片290

20.3.4 基于规约程序切片290

20.3.5 软件体系结构切片290

20.3.6 程序切片应用290

参考文献291

附录293

附录A 汉英名词对照293

附录B 缩略语英汉对照296

热门推荐