第一章 引论 1
1.1 程序复杂性度量概念及其研究范围 1
1.2 程序复杂性度量在软件开发中的作用 3
1.3 程序复杂性度量的研究现状 4
1.3.1 程序复杂性度量的模型研究 5
1.3.2 程序复杂性度量方法的研究 5
1.3.3 程序复杂性度量工具的研究 7
1.4 程序复杂性度量与算法复杂性分析的分工 7
第二章 软件度量与测量 10
2.1 测量科学的一般概念 11
2.2 测量的表示理论 12
2.3 测量的用途 13
2.4 直接测量和间接测量 14
2.5 标度(scale)类型和意义 14
2.6 Weyuker性质 18
2.7 测量过程 21
第三章 顺序程序复杂性度量 23
3.1 顺序程序复杂性的模型 23
3.2 行计数法 24
3.3 Henry-Kafura的信息流度量[5] 25
3.4 Thayer复杂性度量[31] 26
3.5 McCabe的着色数法度量[2] 29
3.5.1 程序的有向控制图 29
3.5.2 McCabe度量的图论基础 31
3.5.3 McCabe度量的用途 32
3.5.4 Ada程序的一个McCabe度量工具 35
3.5.5 对McCabe复杂性度量的评论和修改意见 37
3.6 结构—路径复杂性度量 38
3.6.1 Cantone的特征多项式 38
3.6.2 程序结构—路径复杂性度量的形式定义 39
3.6.3 程序循环嵌套结构的树图表示 41
3.6.4 结构—路径复杂性度量的性质 44
3.6.5 非递归子程序调用对复杂性的影响 50
3.6.6 递归调用对复杂性的影响 52
第四章 软件科学法 54
4.1 运算符与运算元 54
4.2 程序长度 57
4.3 程序容量(volume) 59
4.3.1 潜在容量(potential volume) 60
4.3.2 运算符和运算元之间的关系 62
4.4 程序级别 63
4.5 智慧量 65
4.6 程序的不纯洁性 65
4.7 编程工作量 66
4.8 语言级别 68
4.9 预测程序的长度和编程时间 69
4.9.1 自η2*和λ求η1 69
4.9.2 自η2*和λ求编程工作量和时间 70
4.10 出错假设 70
4.11 模块化 72
4.12 对软件科学法的评论 73
4.13 对软件科学法的修改意见 74
第五章 信息隐藏度量 76
5.1 信息隐藏概念的发展 76
5.2 信息隐藏度量 78
5.2.1 模块级度量 78
5.2.2 系统级度量 79
5.3 主观验证 81
5.4 事例研究验证 82
5.5 结论 88
第六章 Ada程序并发复杂性度量 90
6.1 并发程序的特征及程序并发复杂性研究现状 90
6.1.1 并发程序的特征 90
6.1.2 程序并发复杂性研究现状 91
6.1.3 对程序并发复杂性度量研究现状的分析 92
6.2 Ada语言的并发机构 93
6.3 Shatz关于分布式程序复杂性度量的研究 97
6.4 不确定性对Ada并发程序复杂性的影响 99
6.4.1 同接受语句关连的不确定性 102
6.4.2 同选择语句关连的不确定性 104
第七章 基于软件科学法的Ada并发复杂性度量 106
7.1 对顺序复杂性和并发复杂性不加区分的度量 106
7.1.1 Tsalidis和Hatzimanikatis等的AFADA 106
7.1.2 VAX/VMS平台上的软件科学法度量HALSTEAD 107
7.2 并发程序的运算符—运算元模型 109
7.3 Ada程序中的并发运算、运算符和运算元 111
7.4 软件科学法用于Ada并发复杂性度量的几个指标 115
7.5 关于运算符和运算元计数的几点考虑 115
7.6 SSACC的实现考虑 117
7.7 Ada程序复杂性度量工具SSAC 117
第八章 基于会合关系的Ada并发复杂性度量 124
8.1 引言 124
8.2 Ada会合之间的关系和关系的分类 125
8.2.1 先后或接续关系 125
8.2.2 嵌套关系 126
8.2.3 会合关系表 127
8.2.4 独立关系 129
8.3 会合接续关系和会合接续图 130
8.4 会合接续图的边数作为度量并发Ada程序复杂性的一个指标 137
8.5 会合接续图涉及的任务数 138
8.6 会合嵌套序列 140
8.7 会合嵌套树 145
8.8 会合嵌套树的加权节点数作为并发程序复杂性度量的一个指标 147
8.9 基于会合关系的Ada并发复杂性度量 149
8.10 会合次序图 150
8.10.1 基本思路 152
8.10.2 会合次序图的概念 152
8.10.3 会合次序图的定义 153
8.10.4 嵌套关系转化为接续关系 154
8.10.5 不确定性的处理 159
8.10.6 另外一些会合次序图的例子 161
8.10.7 几点注记 162
8.11 会合次序图的复杂性度量 163
参考文献 164