基于序列图和文本用例的安全分析比较
立即解锁
发布时间: 2025-08-22 01:59:14 阅读量: 2 订阅数: 12 


计算机科学讲义6051:编辑委员会与内容概览
# 基于序列图和文本用例的安全分析比较
## 1. 序列图与文本用例概述
序列图(SSD)与文本用例相近,可采用与文本用例相同的结构和词汇构建。不过,随着UML 2.0的出现,序列图(包括SSD)具备了一些文本用例所没有的优势。它可以包含替代结构(如if…then…else…,用alt或opt表示)和循环结构(如for…,用loop表示),这使得我们能够在SSD中插入一些难以在文本用例中体现的信息。
SSD可用于安全分析,具体做法是检查每条发送或接收的消息,并思考诸如“如果消息未发送会怎样”以及“如果消息内容错误会怎样”等问题。
## 2. 实验研究方法
### 2.1 研究问题
本次研究聚焦于以下几个问题:
- RQ1:文本用例(TUC)在识别故障模式方面总体上是否优于序列图(SSD)?
- RQ2:若RQ1得出一种表示方法总体上更优的结论,是否存在某些问题区域不满足这一结论?
- RQ3:若RQ2表明表示方法A总体上优于表示方法B,那么:
- RQ3 - 1:是否存在某些故障模式,在这些模式下表示方法B优于表示方法A?
- RQ3 - 2:造成这种情况的原因是什么?
### 2.2 假设检验方法
前两个研究问题可转化为假设进行检验。对于RQ1,采用t检验,因为需要比较识别出的故障模式数量;对于RQ2,采用比例检验,因为要比较识别出单个故障模式的参与者比例。
比例检验的相关参数定义如下:
- \(x_i\):样本\(i\)中观察到的成功次数。
- \(\pi_i\):样本\(i\)中成功事件的比例。
- \(n_i\):样本\(i\)的大小。
- \(\Delta\):要检验的差异,本研究中\(\Delta\)设为零。
- \(\pi\):两个样本合在一起的成功比例,计算公式为\(\pi=\frac{x_1 + x_2}{n_1 + n_2}\)。
比例检验基于以下统计量,其中\(z\)假定服从正态分布\((0, 1)\):
\[z=\frac{(\pi_1 - \pi_2)-\Delta}{\sqrt{\pi(1 - \pi)(\frac{1}{n_1}+\frac{1}{n_2})}}\]
RQ3 - 1通过研究回答RQ2时使用的t检验结果来解答。而对于RQ3 - 2,将以实验编码中定义的区域为起点进行分析,由于关注的是原因而非现象,所以无法用统计方法解答。若表示方法A总体上优于表示方法B,将按以下步骤进行:
1. 针对表示方法B优于表示方法A的每个故障模式,记录与两种表示方法相关的故障模式特征。
2. 找出表示方法B中便于发现故障模式的因素,以及表示方法A中难以发现该故障模式的因素。
3. 若能确定表示方法中分别隐藏和揭示该故障模式的一组令人信服的因素,则认为参与者使用表示方法B发现而使用表示方法A未发现该故障模式的原因在于这些因素。
## 3. 实验设计
### 3.1 实验准备
SSD实验在法国的约瑟夫·傅立叶大学 - 格勒诺布尔一大(UJF)由格勒诺布尔信息实验室(LIG)开展,TUC实验在挪威科技大学(NTNU)的信息与计算机科学系进行。由于两地参与者背景不同,实验准备阶段有所差异,但其他实验设计相同。
在UJF,参与者是计算机科学专业硕士一年级学生,课程以英语授课。学生们在礼堂接受了关于安全问题和安全分析的简短介绍,并观看了安全分析示例,这部分持续1小时30分钟。之后,参与者填写实验前问卷、阅读文档并填写实验后问卷,他们有1小时30分钟完成这些任务,但大多数参与者提前离开。
在NTNU,参与者在礼堂接受安全分析介绍,了解早期进行安全分析的重要性。他们有15分钟复习文本用例和误用用例知识,然后填写实验前问卷。完成问卷后,参与者根据文本用例和系统图识别故障模式,系统图展示了列车控制系统的主要组件以及各组件(如无线电、操作员、列车和轨道侧设备)如何协作以确保铁路安全高效运行。
在两个实验中,每个参与者都在显示TUC或SSD的纸张上以自由文本形式记录识别出的故障模式。
### 3.2 编码过程
研究人员阅读故障模式描述,并将其与编码方案中的故障模式进行关联。若有多个故障模式适用,研究人员会达成共识,确定最符合参与者意图的类别。为减少编码方案应用中的差异,所有参与者提交的表格由同一名研究人员编码,另一名研究人员进行审核。
编码方案预先设计,基于对先前实验中受访者使用的故障模式类别的分析。该方案有三个层次,顶层类别如下:
- OP - 操作员问题
- CS - 计算机系统问题
- EP - 工程师问题
- MP - 维护人员问题
- TC - 技术通信问题
- TE - 轨道侧设备问题
每个类别有两个或更多子类别,子类别还有子 - 子类别(此处未展示)。该编码方案包含104个故障模式,为实验结果分类提供了灵活方式。以操作员问题(OP)的子类别为例:
- OP100 - 传入消息
- OP200 - 操作员操作
- OP300 - 操作员调度
- OP400 - 操作员设备问题
- OP500 - 操作员知识
- OP600 - 操作员过载(如因恐慌)
- OP700 - 通信问题
参与者的回答记录在Excel工作表中,最低级别的每个故障模式类别在工作表中有一行,每个参与者有一列。每个参与者的记录为二进制形式,即是否发现某个故障模式,多次识别同一故障模式无额外加分。
## 4. 实验结果与初步分析
### 4.1 实验结果概述
TUC实验中,表现最好的参与者识别出25个故障模式,最差的识别出8个,识别概率范围为24%至8%。使用SSD的参与者中,最好的识别出19个故障模式,最差的识别出4个,识别概率范围为18%至小于4%。
为检验两种表示方法之间的差异是否重要,需考虑显著性水平\(\alpha\)和效应大小ES。即使显著性水平(p值)低于0.05,若效应大小较低,差异可能仍无意义。因此,讨论将同时基于显著性水平和效应大小。效应大小ES的计算公式为\(ES=\frac{t}{\sqrt{df}}\),其中\(t\)是t统计量的值,\(df\)是自由度。
### 4.2 RQ1结果
使用t检验回答RQ1,结果如下表所示:
| | TUC | SSD |
|
0
0
复制全文
相关推荐










