程序设计缺陷分析与实践
图书简介
程序设计缺陷分析与实践
作 者: 尹浩,于秀山 著
丛 书 名:
出 版 社: 电子工业出版社
ISBN:9787121129698
出版时间:2011-03-01
版 次:1
页 数:264
装 帧:平装
开 本:16开
所属分类:图书 > 计算机与互联网 > 编程语言与程序设计
内容简介
代码缺陷源自程序设计,《程序设计缺陷分析与实践》结合作者多年软件测试经验,重点归纳总结了cc++和java语言在程序设计方面存在的鲜为人知的各种缺陷,以期为软件设计人员和测试人员提供有益借鉴。
《程序设计缺陷分析与实践》共5章2个附录,分别介绍了程序设计缺陷静态分析方法、cc++语言程序设计缺陷分析、java语言程序设计缺陷分析、软件质量静态度量以及静态测试工具使用实践。重点介绍了cc++语言程序在编码风格、内存管理、缓冲区使用、指针以及安全等方面存在的典型缺陷,并结合实例对每种缺陷进行了分析,同时给出了缺陷修改方法。
《程序设计缺陷分析与实践》既是一本程序设计方面的高级教程,同时也是一本软件静态测试方面的教程,可作为高等院校计算机相关专业高级程序设计及软件测试课程教材,也可供软件开发工程师、测试工程师、测试经理等人员参阅。
作者简介
于秀山,男,1962年12月出生,山东栖霞人,博士。现为总参第六十一研究所博士后,高级工程师,解放军南京理工大学硕士研究生导师,总参通信部科技创新工作站进站人员。.
自1998年从事软件测试工作以来,完成了多项军队软件测试方面的科研项目,承担了多项大型软件项目的测试工作,获军队科技进步二等奖1项,三等奖1项;获人防科技进步二等奖1项,三等奖1项。发表论文20篇,出版译著13部。
2004年8月至2005年8月在加拿大渥太华大学贝尔实验室工作,研究方向为软件测试和软件质量保证。
前言
言及程序设计,很多读者并不陌生,并自认为是程序设计方面的高手,但当您读完此书后,除了完全外行和真正的编程高手外,您一定会感到惊讶:原来我设计的程序包含如此多的缺陷!
程序缺陷的存在使软件经常出现这样或那样的问题,影响了软件的正常使用,甚至危及人类生命和财产安全。自从软件危机爆发以来,广大软件从业人员就开始苦苦寻求如何提高软件质量的灵丹妙药,开出了许多有效的良方,然而,由于缺陷的多样性和隐蔽性,许多看似正常的程序其实隐藏着巨大的隐患,如何找出并避免这些缺陷是软件开发人员和测试人员面临的一个严峻挑战。
本书从程序设计缺陷的角度入手,结合作者多年从事软件测试的经验,将测试中发现的鲜为人知的软件问题进行了归纳整理,以期对读者能有所裨益。
本书共分5章,各章主要内容如下。
第1章从静态测试的角度,介绍了程序设计缺陷静态分析常用的文档审查、代码审查、技术评审以及代码走查方法,并对部分方法进行了比较;
第2章和第3章是本书的重点内容,详细阐述了C/C++、Java语言程序在编码风格、内存管理、缓冲区使用、指针、代码安全等方面存在的典型缺陷。通过实例,对每一种缺陷进行了分析,并给出了修改方法;
第4章介绍了软件质量静态度量方面的知识,给出了5种软件质量模型;详细阐述了Halstead度量、McCabe度量等软件质量度量方法;
第5章结合测试实践,介绍了Polyspace、Klockwork、Testbed、McCabe代码静态分析工具的功能及使用方法。
前车之鉴,后事之师,无论是软件测试人员还是程序设计人员,只要您花点时间认真阅读本书,将会受益匪浅。
在本书的编写过程中,张旭辉、杨豹、李华莹、胡兢玉、董昕、于长钺同志参与了部分章节编写工作,在此向他们表示衷心的感谢。
目录
第1章 程序设计缺陷静态分析
1.1 软件测试分类
1.2 静态分析方法
1.2.1 文档审查
1.2.2 代码审查
1.2.3 技术评审
1.2.4 代码走查
1.2.5 评审类型比较
1.2.6 静态分析的优点
第2章 c/c++语言程序设计缺陷分析
2.1 编码风格
2.1.1 符号误用问题
2.1.2 变量初始化问题
2.1.3 函数返回值问题
2.1.4 其他
2.2 内存管理
2.3 内存泄漏
2.4 缓冲区溢出
2.5 指针问题
2.5.1 空指针解引用
2.5.2 其他
2.6 安全缺陷
2.7 c++中和类有关的编程错误
2.8 其他
第3章 java语言程序设计缺陷分析
3.1 编码风格
3.2 安全缺陷
第4章 软件质量静态度量
4.1 有关概念
4.2 软件质量模型
4.2.1 mccall模型
4.2.2 boehm模型
4.2.3 iso9126模型
4.2.4 iso/iec 25010质量模型
4.2.5 关系模型
4.3 软件质量静态度量方法
4.3.1 软件质量静态度量简介
4.3.2 源代码行(loc)度量
4.3.3 halstead软件科学度量
4.3.4 mccabe度量
4.3.5 henry & kafura 方法
4.3.6 lcsaj密度
4.3.7 c&k度量
4.3.8 mood度量
4.3.9 其他软件质量度量
第5章 常用静态分析工具与使用实践
5.1 polyspace--运行时错误静态检查工具
5.1.1 polyspace verifier
5.1.2 polyspace viewer
5.2 klocwork--代码静态检查工具
5.2.1 工程创建与分析
5.2.2 分析结果查看
5.3 testbed--静态和动态测试工具
5.3.1 单个文件分析
5.3.2 分析结果查看
5.3.3 多个文件批量分析
5.4 mccabe iq2--软件质量保证工具
5.4.1 mccabe eq
5.4.2 mccabe test
5.4.3 mccabe reengineer
附录a 软件需求规格说明审查单
附录b 用户手册审查单
参考文献