前言
第1章 软件缺陷与缺陷模式
1.1 软件缺陷的概念
1.2 软件缺陷的来源
1.3 软件缺陷的严重性和优先级
1.4 软件缺陷的发现、排除及效率
1.5 软件缺陷数据库
1.6 软件缺陷管理
1.7 软件缺陷预测
1.7.1 撒播模型
1.7.2 基于软件规模和复杂性的测量模型
1.7.3 基于白盒测试的覆盖率进行预测
1.7.4 基于软件研制的质量控制过程进行预测
1.7.5 基于测试时错误发生的时刻进行预测
1.8 软件缺陷预防
1.8.1 了解缺陷
1.8.2 缺陷查找技术
1.9 软件缺陷的对数正态分布
1.10 软件代码缺陷模式
1.11 C缺陷
1.12 基于缺陷模式的软件测试的意义
第2章 故障模式
2.1 Java故障模式
2.1.1 空指针使用
2.1.2 数组越界
2.1.3 资源泄漏
2.1.4 非法计算
2.1.5 死循环
2.1.6 并发
2.2 C/C++故障模式
2.2.1 内存泄漏
2.2.2 数组越界
2.2.3 使用未初始化变量
2.2.4 空指针使用
2.2.5 非法计算
2.2.6 死循环
2.2.7 悬挂指针
第3章 安全漏洞模式
3.1 Java安全漏洞模式
3.1.1 未验证的输入
3.1.2 滥用API
3.1.3 安全特性
3.1.4 竞争条件
3.1.5 不合理的异常处理
3.1.6 低质量代码
3.1.7 封装不当
3.2 C/C++安全漏洞模式
3.2.1 缓冲区溢出
3.2.2 被污染的数据
3.2.3 竞争条件
3.2.4 风险操作
第4章 疑问及规则模式
4.1 疑问模式
4.1.1 性能相关
4.1.2 冗余代码
4.1.3 不良代码
4.2 规则模式
4.2.1 声明定义类
4.2.2 版面书写类
4.2.3 分支控制类
4.2.4 指针使用类
4.2.5 跳转控制类
4.2.6 运算处理类
4.2.7 过程调用类
4.2.8 语句使用类
……
第5章 基于缺陷模式的测试技术
第6章 区间运算技术
第7章 路径敏感分析技术
第8章 函数间分析技术
参考文献