基于攻击模式的可信软件的建模、度量与验证

    课题名称:可信软件构造理论与方法研究
    课题基金:国家自然科学基金重大研究计划重点支持项目(F020208) 2012.01-2015.12
  课题责任人:何炎祥          第二责任人:李晓红
课题依托单位:武汉大学     课题合作单位:天津大学

项目的背景及主要用途:

    在当前社会发展阶段,软件还属于人类智能产品,其生产过程中可能的各种人为。问题也是软件各种缺陷的原因,其中包括:对用户需求的理解有偏差,软件规模增大带来开发的复杂,设计过程引入缺陷(架构缺陷、设计不合理),时间压力,其他人为的外在因素等。从软件工程的角度看,软件产品的生命周期包括可行性研究、需求规范或功能设计、体系结构设计,编程实现、测试、问题分析和修改、系统部署、运行维护等阶段。早期开发软件的首要目标是在效率和成本优先的前提下构造出功能正确的系统,对于可信任性、可用性、安全性等问题的考虑相对较少,尤其在软件构造理论与方法、构造过程、体系结构、运行环境等方面,没有建立相应的可信支撑机制,使得软件在规模增大以后,可信性问题越来越突出。传统的软件开发过程模式已经不能适应现代软件系统的特点。软件基础理论正处于一个转型期——转向以软件可信性度量为基础,全面考虑软件需求分析、建模、生成、测试验证、维护和演化等阶段和运行支撑等方面的可信问题。因此研究可信软件构造理论与方法有利于提出一种新的可信软件开发过程模型,防止影响软件可信因素的各种缺陷的引入,即在软件开发过程的各个阶段处理影响软件可信的可控制(内因)和不可控(外因)因素,在现有软件生产过程的基础上,通过强化各阶段的可信保障机制,以提高软件的可信度。

研究内容:

项目的主要研发内容包括:

1. 可信软件开发过程

(1)可信软件开发过程模型:本项目拟对软件开发过程进行研究,提出一种可信的软件开发过程模型。

(2)可信软件开发过程可信保障机制:拟从软件的安全性和可靠性两个方面着手,采用统一的模型对软件开发的各个阶段进行相应的保障,以最大程度提高软件的可信性。

2. 可信软件需求建模与验证  

(1)基于软件行为的需求建模方法:基于软件行为的需求建模方法主要研究如何从用户的需求描述逐步过渡到基于行为的形式化模型的方法。

(2)面向可信软件需求模型的验证方法:可信软件需求模型,首先要保证自身的正确性、完全性等特性,其次要满足由该模型所属应用领域的可信特性。

3. 可信软件的设计与实现

(1)可信软件体系结构设计:研究可信软件体系结构的关注点建模方法、描述语言与体系结构模式,为可信软件体系结构设计提供问题分析方法、建模语言和设计模板。

(2)体系结构驱动的构件化可信软件组装:研究体系结构驱动的构件化可信软件组装方法,确保构件以及构件组合而成的系统符合软件体系结构中的可信设计方案。

(3)基于可信编译的代码生成与分析:基于编译的可信软件实现方法就是从编译的角度保证系统所运行软件的可信性。

4. 可信软件测试与评估方法

(1)可信软件的测试:针对可信软件的度量、判定、控制、扩展机制,展开基于缺陷定位、测试用例约简以及具体测试方法的研究。

(2)可信软件的评估。

5. 可信软件的开发工具、平台

(1)集成化可信软件开发平台。

(2)可信软件集成开发平台实现。

6. 面向国家电网中的嵌入式可信软件示范应用

 

研究目标:

    本项目拟对可信软件的构造理论与方法进行研究,通过建立一个可信的软件开发模型,以及开发相关工具实现可信软件的集成开发环境,相关研究目标如下:

1)提出一种保障软件可信的开发过程模型。

2)提出一种面向可信软件的需求分析与验证方法。

3)提出基于体系结构的构件化可信软件开发方法及基于可信编译的代码生成与分析方法。

4)提出一套可信软件测试与评估方法。

5)设计并构造一个可信软件的集成开发环境原型。