基本信息·出版社:科学出版社 ·页码:297 页 ·出版日期:2006年03月 ·ISBN:7030169441 ·条形码:9787030169440 ·版本:第1版 ·装帧:平装 ·开本 ...
商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
 |
程序切片技术及其应用 |
 |
|
 |
程序切片技术及其应用 |
 |

基本信息·出版社:科学出版社
·页码:297 页
·出版日期:2006年03月
·ISBN:7030169441
·条形码:9787030169440
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·图书品牌:科瀚伟业
内容简介 《程序切片技术及其应用》主要介绍程序切片的起源和发展,程序切片技术的图论基础,程序切片的各种变体,计算程序切片的各种方法,以及程序切片技术在软件调试、波动分析、软件测试、度量、重用、程序理解、逆向工程和软件安全等方面的应用,并讨论了程序切片技术的发展趋向。
《程序切片技术及其应用》适合作为高等院校计算机软件专业学生学习"软件工程"、"软件分析与测试"等课程的参考书或工具书,也适合作为软件分析与测试研究人员的参考书。
作者简介 李必信 男,1969年出生,安徽庐江人,博士后,现任东南大学计算机科学与工程系教授。1998年2月至2000年12月,在南京大学计算机科学与技术系攻读博士学位,师从著名软件工程学者郑国梁教授;2001年4月至2002年3月,在芬兰图尔库(Turku)计算机科学中心(TUCS)做博士后研究,师从著名软件工程专家、精化演算创始人Ralph Johan Back教授;2002年4月至2004年1月,受聘于欧洲信息和数学联盟(ERCIM),并被派往挪威科学技术大学(NTNU)和荷兰国家计算机和信息研究中心(CWI)从事教学和研究工作。2004年2月加盟东南大学,并开始组建ERICS(Empirical Research in Computer Science)研究组。目前ERlCS的主要研究方向为软件开发新技术与新方法、经验软件工程、程序切片技术、软件分析与测试、软件语言、软件建模与验证和软件过程改进等。1999年以来,先后在Journal of Info rmation and Computational Science,Information and Software Technology,Journal of Computer Scie
编辑推荐 《程序切片技术及其应用》是由科学出版社出版的。
目录 上篇 程序切片技术基本原理
第1章 概论
1.1 程序切片技术的起源和发展
1.1.1 从数据流方程到程序依赖图
1.1.2 从可执行的程序切片到不可执行的程序切片
1.1.3 静态切片、动态切片和有条件切片
1.1.4 后向切片和前向切片
1.1.5 从源程序代码切片到软件规约切片
1.1.6 从单一切片到多种切片
1.2 程序切片技术的应用概述
1.2.1 程序调试
1.2.2 软件维护
1.2.3 回归测试
1.2.4 软件度量
1.2.5 软件重用
1.2.6 软件安全
1.3 程序切片工具简介
1.3.1 支持C语言的PST
1.3.2 支持Ada语言的P盯
1.3.3 支持Oberon-2语言的PST
1.3.4 支持Jrdva语言的PST
1.3.5 其他PST
小结
思考题
参考文献
第2章 图论基础
2.1 控制流图
2.1.1 基本模块
2.1.2 控制流图定义
2.1.3 基本属性
2.2 控制流分析
2.2.1 控制流
2.2.2 控制流的表示方法
2.2.3 支配节点和后必经节点
2.2.4 循环识别
2.3 数据流分析
2.3.1 可到达定义
2.3.2 数据流方程
2.3.3 活性分析
2.4 数据依赖和控制依赖
2.4.1 控制依赖
2.4.2 数据依赖
2.5 程序依赖图
2.5.1 过程内依赖图
2.5.2 过程间依赖图
小结
思考题
参考文献
第3章 静态程序切片
3.1 引言
3.2 Mark weiSer程序切片
3.2.1 初步理解
3.2.2 基本术语
3.2.3 Mark weiser的数据流算法
3.3 过程内切片
3.3.1 构造程序依赖图
3.3.2 图可达性算法
3.3.3 例子分析
3.4 过程间切片
3.4.1 构造系统依赖图
3.4.2 构造特征子图的算法
3.4.3 过程问切片的算法
小结
思考题
参考文献
第4章 动态程序切片
4.1 引言
4.2 基本术语
4.2.1 程序依赖图和静态切片
4.2.2 执行历史和动态切片准则
4.3 Agrawal和Horgan的动态切片
4.3.1 动态切片方法1
4.3.2 动态切片方法2
4.3.3 动态切片方法3
4.3.4 动态切片方法4
4.4 Korel和Laski的动态切片
小结
思考题
参考文献
第5章 有条件程序切片
5.1 引言
5.2 有条件切片
5.2.1 准静态切片
5.2.2 同时动态切片
5.2.3 一般的有条件切片模型
5.2.4 有条件切片计算
5.3 切片模型关系分析
5.4 分割分析
小结
思考题
参考文献
第6章 面向对象程序切片
6.1 引言
6.2 传统系统依赖图的缺陷分析
6.3 面向对象系统依赖图
6.3.1 OOSDG的基本组成模型
6.3.2 OOSDG对SDG的扩充
6.3.3 类依赖图
6.3.4 虚函数调用图的构造
6.3.5 OOSDG的构造算法
6.3.6 基于O0SDG的程序切片算法
小结
思考题
参考文献
第7章 并发程序切片
7.1 引言
7.2 Cheng的并发程序切片思想
7.3 Krinke多线程程序静态切片方法
7.3.1 线程控制流图
7.3.2 线程程序依赖图
7.3.3 基于tPDG的切片
7.4 Nanda和Ramesh的并发程序切片方法
7.5 并发程序的动态切片
7.5.1 进程图和静态程序依赖图
7.5.2 进程图到并发图
7.5.3 构建DPDG
7.6 面向对象并发程序的切片方法
7.6.1 Zhao的早期方法
7.6.2 Java并发程序的切片方法
小结
思考题
参考文献
第8章 规约切片
8.1 形式规约切片
8.1.1 静态形式规约切片
8.1.2 动态形式规约切片
8.1.3 其他形式规约切片
8.2 基于规约的程序切片
8.2.1 前置和后置条件
8.2.2 基于规约的切片
8.3 体系结构规约切片
8.3.1 体系结构规约
8.3.2 体系结构切片定义
8.3.3 体系结构信息流图和体系结构切片的计算
8.4 动态软件体系结构切片
……
第9章 新型切片变体
中篇 程序切片技术的基本应用
第10章 程序调试
第11章 波动分析
第12章 软件测试
第13章 软件编护
第14章 复杂性度量
第15章 软件安全
第16章 软件重用
第17章 应用扩展
下篇 程序切片技术展望
第18章 层次切片模型及其实现
第19章 层次切片模型的应用
第20章 结束语
附录
……
序言 计算机系统的发展给软件提出了更高的要求,软件质量提升这一课题的研究越来越得到从业人员的重视,而软件的可靠性、正确性、安全性等是保证软件具有高质量的关键因素。近年来,软件从业人员,特别是软件工程的从业人员,为保证开发中软件的质量,提出了多种技术与方法。其中类型推理、代码分析、软件测试、形式验证和CMM等就是典型代表。程序切片是由M.Weiser先生于1979年在他的博士论文中首先建立起来的一种程序分解技术。它通过寻找程序内部的相关性来分解程序,再通过对分解所得程序切片的分析达到对整个程序的分析和理解。
程序切片技术的研究有着极其重要的理论和实际意义。它极大地丰富了程序分析、程序理解、软件维护的理论基础,为软件工程的各个阶段提供理论和技术支持,保证软件开发过程沿着严谨、正确的道路走下去。例如,在需求规约层,我们可以通过对软件形式规约的切片,发现规约中存在的错误,分析产生错误的原因,进而纠正错误;在软件体系结构层,我们可以利用体系结构切片技术,逐步对体系结构规约进行精化(refinement),并验证体系结构的正确性,从而保证按此体系结构设计软件的正确性和可靠性;在设计阶段,我们同样可以利用模块间切片技术,尽可能地设计出高内聚、低耦合的模块,从而降低程序的复杂性,并为软件重用奠定良好的基础;在编码阶段,程序切片技术的应用更加广泛,它在程序分析、理解、测试、调试、度量以及维护过程中都有着极其广泛的用途。作为一种应用广泛的程序分析技术,程序切片正对软件工程领域产生越来越大的影响。
编著本书的目的在于向那些已学过大学“软件工程”、“程序设计语言”等计算机软件基础课程而希望进一步深入学习程序分析方法的读者,提供一部全面介绍程序切片技术的基础读物。本书内容包括程序切片的基本原理和方法,基本工具和技巧,以及程序切片在软件工程各个方面的运用。本书力求以浅显易懂的形式讲述基本理论和方法,并且紧密结合实践。
文摘 插图:

(4)程序切片发展“百花齐放”阶段
这一阶段的主要标志就是出现了各种各样的程序切片变体,如削片、砍片,还有数据切片、层次切片和无定型切片等。同时,程序切片技术的应用也在此阶段得到了极大的丰富和发展。除了传统的基于切片的软件调试、软件测试和程序理解以外,程序切片还被广泛运用于程序重组、逆向工程、软件维护、程序验证以及软件可靠性分析和建模等方面。
以上四个阶段的划分没有严格的时间限制,甚至前后阶段之间存在着较大的时间重叠,笔者只是为了问题叙述的方便,仅供读者参考。另外,除了这里提到的作者以外,还有一大批从事程序切片研究并做出突出贡献的同仁,他们的工作也是极具理论和应用价值的。例如,有关并发程序切片,有关有条件切片等,我们将用独立的章节分析和介绍这些成果。
本篇主要是对程序切片技术发展的一个回顾,所包含内容尽量避免深奥的理论赘述,相信初学者可以比较轻松地学习每一个章节,同时又能够较快地把握整个技术发展的轮廓。
本篇的主要内容组织如下。
第1章介绍程序切片技术的发展、基本原理和应用,以帮助读者快速入门。
第2章介绍控制流图、程序依赖图、控制流分析和数据流分析的基本原理。
第3章主要介绍M.weiser程序切片的基本思想,过程内切片和过程间切片等,目的是让读者了解程序切片发展早期阶段的有关情况。
第4章详细论述动态程序切片的基本原理,讨论计算动态切片的基本方法。
第5章简述有条件切片的基本思想及其应用。
第6章讨论并发程序的切片问题。
第7章从面向对象程序的特点出发,论述计算面向对象程序切片时遇到的问题和挑战,以及目前采用的计算面向对象程序切片的方法等。
第8章重点阐述针对规约语言的程序切片思想和相应的算法等。
第9章讨论的是一些新型的程序切片问题,对其中的许多问题进行初步的论述和探讨。