软件可信性(2)
时间:2025-05-02
时间:2025-05-02
量进行专项研究,我国还设置了可信软件的专项实验室,比如高可信软件技术教育部重点实验室和上海市高可信计算重点实验室等。
测量中间制品质量的能力,从而实现预估最终产品的质量。外部质量是软件产品外部质量属性的总和。外部质量的测量和评价通常在测试阶段和运行阶段使用,为用户提供评价软件产品所属系统的行为的能力,从而实现对软件产品质量的评估。内部质量和外部质量可统称为系统质量,分别通过若干特性和子特性进行描述,其模型如图2所示。使用质量是指软件产品用于指定的使用环境和条件时,从用户角度体验到的质量。使用质量的属性包括用户在特定环境中能达到的有效性、生产率、保全性(文献中常将Security和Safety均译为安全性,Security考察的是有效防止来自系统外部攻击的能力,而Safety考察的是在环境异常、外部攻击和系统出错等情况下有效防止系统出现灾难性后果的能力。为避免混淆,本文用安全性指Security,用保全性指Safety)和满意度等指标,而非软件自身的性质。使用质量只能在真实的系统环境下获得。其模型如图3所示。
传统的软件质量研究主要围绕其内涵(“是什么”)和保障手段(“怎么做”)两个核心问题。研究内容偏重于软件系统本身且更关注系统质量(内部质量和外部质量)的保障,研究思路一般是按照“以系统质量为核心,兼顾使用质量”。此外,质量研究通常只针对具体的质量属性,较少考虑不同质量属性的综合。软件质量内涵主要研究正确性、可靠性和安全性等具体的质量属性和指标,而且这
些属性的关注点各有不同。例如,在规定的条件和时间间隔内,可靠性关注使计算机系统能
软件可信性
虽然前面提到表达可信计算概念的术语很多,但是什么是软件的可信性?网络环境下的软件可信性内涵有何特别之处?本文认为:软件可信性在本质上是传统软件质量概念在互联网时代的延伸,但与传统的软件质量研究的关注点有所不同,它更关注使用层面的综合化的质量属性及其保障。
根据国际标准化组织(International Organization for Standardization,ISO)的定义,软件质量是软件产品满足规定和隐含需求能力有关的所有特征和所有特性的总和(IEEE2标准也有类似定义)。该标准提出从内部质量、外部质量、使用质量和过程质量这四个角度来理解和保障软件质量的属性,如图1所示。
从软件产品自身的角度看,其质量可以通过测量内部质量属性(比如对中间产品的静态测量),外部质量属性(比如代码执行时的特性),或使用质量属性来评价。内部质量是软件产品内部质量属性的总和。内部质量的测量和评价用于开发阶段的非执行的软件产品(比如设计规约或源代码等),为用户提供了
正常运行的概率;可用性则关注计算机系统在某一时刻能提供有效功能的程度。在软件质量保障方面,主要采用软件验证、开发保障和运行保障三种技术途径。
图1 国际标准化组织中的软件质量概念模型
2
Institute of Electrical and Electronic Engineers,(美)电气和电子工程师学会
性能、可靠性等),试图通过增加或优化软件
运行平台质量保障机制来保障其上应用的高质量
运行。例如,通过容错机制提高运行系统在发生故障的情况下正常提供服务的能力;通过密钥设施、访问控制和虚拟机等运行机图2 国际标准化组织软件质量模型中的内部质量和外部质量
制保护计算过程不受干扰且所处
理的信息不外泄等。
互联网环境下的可信性概念在提出后受到极大关
注。通过仔细分析考察,我们能够发现可信性关注的仍图3 国际标准化组织软件质量模型中的使用质量然是质量属性,只是随着网格计算、普适计算和服务计
其中,软件验证主要是通过形式化等方法来判算等新型网络应用模式的出现以及平台开断程序的质量属性;开发保障主要是通过软件放、动态和难控等特点日益显著,质量的关工程的技术途径(含软件测试和维护)来保证注重心从系统质量转移到使用质量,导致传开发出来的软件具备预期质量,由此产生了软统的软件质量评价和保障技术难以适用。从件质量保障(Software Quality Assurance)、软软件质量模型的角度看,软件可信性是软件件质量工程(Software Quality Engineering)和运行时使用质量属性的综合,决定了软件在
软件保障(Software Assurance)等软件质量开发保障方法;运行保障则主要针对那些可能无法准确地用形式化验证或难以通过软件工程方法保障的运行质量(如
图4 从不同维度分解可信性属性
上一篇:优秀团员个人事迹