程序切片技术及其应用PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:李必信编著
- 出 版 社:北京:科学出版社
- 出版年份:2006
- ISBN:7030169441
- 页数:297 页
第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语言的PST 12
1.3.4 支持Java语言的PST 13
1.3.2 支持Ada语言的PST 13
1.3.3 支持Oberon-2语言的PST 13
1.3.5 其他PST 14
小结 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 动态切片方法1 59
4.3.2 动态切片方法2 60
4.3.3 动态切片方法3 62
4.3.4 动态切片方法4 63
小结 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 构建DPDG 113
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-Debug 151
10.2.2 面向对象程序切片与调试 151
10.3 基于切片的调试工具 151
10.3.2 SPYDER 152
小结 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
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《林下养蜂技术》罗文华,黄勇,刘佳霖主编 2017
- 《脱硝运行技术1000问》朱国宇编 2019
- 《催化剂制备过程技术》韩勇责任编辑;(中国)张继光 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《中医骨伤科学》赵文海,张俐,温建民著 2017
- 《美国小学分级阅读 二级D 地球科学&物质科学》本书编委会 2016
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《强磁场下的基础科学问题》中国科学院编 2020
- 《小牛顿科学故事馆 进化论的故事》小牛顿科学教育公司编辑团队 2018
- 《小牛顿科学故事馆 医学的故事》小牛顿科学教育公司编辑团队 2018
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019