[发明专利]一种基于形式化及统一软件模型的软件可信工程方法无效
申请号: | 201110046569.8 | 申请日: | 2011-02-25 |
公开(公告)号: | CN102136047A | 公开(公告)日: | 2011-07-27 |
发明(设计)人: | 李晓红;曹坤宇;陈世展;饶国政;邢金亮;曹燕 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F21/00 | 分类号: | G06F21/00;G06F11/36 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 温国林 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 形式化 统一 软件 模型 可信 工程 方法 | ||
技术领域
本发明以可信软件开发过程作为主要对象,搭建了结合形式化方法的软件工程理论体系,改进了现有软件工程非形式化的本质不足,并引入缺陷检测机制,在软件设计阶段检测并缓和缺陷,属于软件可信领域,特别涉及一种基于形式化及统一软件模型的软件可信工程方法。
背景技术
随着计算机应用的不断发展,在信息社会中发挥着至关重要的作用。但是软件的生产现状不能令人满意,软件安全事故、软件质量问题和软件扩展问题已经带来了巨大的损失。国内外专家及行业巨头已经将软件的可信性作为软件的一个重要属性。软件系统的可信性质,具体为软件系统需要满足的关键性质,当软件系统一旦违背这些关键性质会造成不可容忍的损失时,称这些关键性质为高可信性质。其中高可信性质包括:可靠性(reliability)、可靠安全性(safety)、保密安全性(security)、生存性(survivability)、机密性(confidentiality)、完整性(integrity)和可维护性(maintainability)等。软件的可信性问题自软件开发以来久已存在。人们在软件工程的实践中从需求分析方法、设计和测试多个方面提出了一些方法来试图从开发的角度获得和评估软件的这些性质。例如,在需求分析中软件安全性分析技术,在软件设计中的软件容错技术,在软件测试中的软件可靠性测试技术。并且,国际上已经开始将软件过程模型与可信软件开发联系起来。例如,面向可靠性的净室软件工程法、面向安全性的软件开发过程中错误发生机制与软件性质定量预测模型。
形式化方法是一种经实践证明的高质量软件的构建方法,构建可信软件的一种公认的关键技术。形式化方法最主要的优点为可以进行形式化推理和证明。形式化验证就是在形式化规约的基础上建立软件系统及其性质的关系,即分析系统是否具有所期望性质的过程,主要分有两种途径:模型检验和定理证明。模型检验是通过搜索待验证软件系统模型的有穷状态空间来检验系统的行为是否具备预期性质的一种有穷状态系统自动验证技术。定理证明是将软件系统和性质都用逻辑方法来规约,通过基于公理和推理规则组成的形式系统,以如同数学中定理证明的方法来证明软件系统是否具备所期望的关键性质。基于定理证明的形式化验证技术可以看作是以软件系统为公理获得其性质的证明过程。
软件安全性是软件可信性的一个重要方面,软件安全缺陷是软件自身的一种内在属性,是安全问题的根源,被攻击者恶意利用后形成软件攻击,造成巨大的损失。软件的安全缺陷主要分成两大类,包括软件设计阶段引入的缺陷和软件实现阶段引入的缺陷。在软件开发生命周期中,设计阶段安全缺陷的发现和修正非常重要,因为修改设计模型消耗的成本远远小于修改软件成品消耗的成本。目前有大量的工具和方法致力于检测和消除软件实现阶段的安全缺陷,但是,软件设计阶段安全缺陷检测方法和工具却并不成熟。因此,有必要对设计阶段引入的安全缺陷进行分析和研究,包括缺陷的内部机制,产生原因等,抽象软件缺陷的本质结构,进而基于此结构进行形式化建模,构建安全缺陷知识库,使计算机能够自动处理此类缺陷。
发明内容
为了解决传统软件工程的不足,本发明提供了一种基于形式化及统一软件模型的软件可信工程方法,所述方法包括以下步骤:
(1)基于形式化语言、传统UML视图,构建包含软件需求设计信息、软件实现信息和运行环境信息的统一软件模型;
(2)根据软件可信工程技术架构,进行所述统一软件模型的一致性和有效性验证,并自动生成单元测试实例;
(3)构建基于所述统一软件模型的软件安全缺陷知识库;
(4)基于所述软件安全缺陷知识库,通过定理证明机,发现所述统一软件模型中潜在的软件安全缺陷;并根据所述潜在的软件安全缺陷给出相应的缓和方案。所述统一软件模型包括:需求部分、设计部分和实现部分,
其中,所述需求部分由UML用例图、活动图和状态图组成,所述活动图和所述状态图作为所述UML用例图的补充,描述需求中的动态信息;所述设计部分由顺序图与形式化语言组成,以功能单元为最小单位,所述顺序图作为框架,描述了完成预设功能需要调用的相应功能单元及调用规则;所述形式化语言通过形式化的描述增加了功能单元的语义信息;所述实现部分由实现功能单元的程序设计语言代码单元组成,且满足所述形式化语言描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110046569.8/2.html,转载请声明来源钻瓜专利网。