CN102136047A - 一种基于形式化及统一软件模型的软件可信工程方法 - Google Patents

一种基于形式化及统一软件模型的软件可信工程方法 Download PDF

Info

Publication number
CN102136047A
CN102136047A CN2011100465698A CN201110046569A CN102136047A CN 102136047 A CN102136047 A CN 102136047A CN 2011100465698 A CN2011100465698 A CN 2011100465698A CN 201110046569 A CN201110046569 A CN 201110046569A CN 102136047 A CN102136047 A CN 102136047A
Authority
CN
China
Prior art keywords
software
unified
model
formalization
safety defect
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011100465698A
Other languages
English (en)
Inventor
李晓红
曹坤宇
陈世展
饶国政
邢金亮
曹燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN2011100465698A priority Critical patent/CN102136047A/zh
Publication of CN102136047A publication Critical patent/CN102136047A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于形式化及统一软件模型的软件可信工程方法,属于软件可信领域,所述方法包括以下步骤:基于形式化语言、传统UML视图,构建包含软件需求设计信息、软件实现信息和运行环境信息的统一软件模型;根据软件可信工程技术架构,进行所述统一软件模型的一致性和有效性验证,并自动生成单元测试实例;构建基于所述统一软件模型的软件安全缺陷知识库;基于所述软件安全缺陷知识库,通过形式化语言定理证明机,发现所述统一软件模型中潜在的软件安全缺陷;并根据所述潜在的软件安全缺陷给出相应的缓和方案。本方法有效的提高了软件质量、消除了设计缺陷、降低了开发成本和提高了可维护性等有益效果,解决了传统软件工程的不足。

Description

一种基于形式化及统一软件模型的软件可信工程方法
技术领域
本发明以可信软件开发过程作为主要对象,搭建了结合形式化方法的软件工程理论体系,改进了现有软件工程非形式化的本质不足,并引入缺陷检测机制,在软件设计阶段检测并缓和缺陷,属于软件可信领域,特别涉及一种基于形式化及统一软件模型的软件可信工程方法。
背景技术
随着计算机应用的不断发展,在信息社会中发挥着至关重要的作用。但是软件的生产现状不能令人满意,软件安全事故、软件质量问题和软件扩展问题已经带来了巨大的损失。国内外专家及行业巨头已经将软件的可信性作为软件的一个重要属性。软件系统的可信性质,具体为软件系统需要满足的关键性质,当软件系统一旦违背这些关键性质会造成不可容忍的损失时,称这些关键性质为高可信性质。其中高可信性质包括:可靠性(reliability)、可靠安全性(safety)、保密安全性(security)、生存性(survivability)、机密性(confidentiality)、完整性(integrity)和可维护性(maintainability)等。软件的可信性问题自软件开发以来久已存在。人们在软件工程的实践中从需求分析方法、设计和测试多个方面提出了一些方法来试图从开发的角度获得和评估软件的这些性质。例如,在需求分析中软件安全性分析技术,在软件设计中的软件容错技术,在软件测试中的软件可靠性测试技术。并且,国际上已经开始将软件过程模型与可信软件开发联系起来。例如,面向可靠性的净室软件工程法、面向安全性的软件开发过程中错误发生机制与软件性质定量预测模型。
形式化方法是一种经实践证明的高质量软件的构建方法,构建可信软件的一种公认的关键技术。形式化方法最主要的优点为可以进行形式化推理和证明。形式化验证就是在形式化规约的基础上建立软件系统及其性质的关系,即分析系统是否具有所期望性质的过程,主要分有两种途径:模型检验和定理证明。模型检验是通过搜索待验证软件系统模型的有穷状态空间来检验系统的行为是否具备预期性质的一种有穷状态系统自动验证技术。定理证明是将软件系统和性质都用逻辑方法来规约,通过基于公理和推理规则组成的形式系统,以如同数学中定理证明的方法来证明软件系统是否具备所期望的关键性质。基于定理证明的形式化验证技术可以看作是以软件系统为公理获得其性质的证明过程。
软件安全性是软件可信性的一个重要方面,软件安全缺陷是软件自身的一种内在属性,是安全问题的根源,被攻击者恶意利用后形成软件攻击,造成巨大的损失。软件的安全缺陷主要分成两大类,包括软件设计阶段引入的缺陷和软件实现阶段引入的缺陷。在软件开发生命周期中,设计阶段安全缺陷的发现和修正非常重要,因为修改设计模型消耗的成本远远小于修改软件成品消耗的成本。目前有大量的工具和方法致力于检测和消除软件实现阶段的安全缺陷,但是,软件设计阶段安全缺陷检测方法和工具却并不成熟。因此,有必要对设计阶段引入的安全缺陷进行分析和研究,包括缺陷的内部机制,产生原因等,抽象软件缺陷的本质结构,进而基于此结构进行形式化建模,构建安全缺陷知识库,使计算机能够自动处理此类缺陷。
发明内容
为了解决传统软件工程的不足,本发明提供了一种基于形式化及统一软件模型的软件可信工程方法,所述方法包括以下步骤:
(1)基于形式化语言、传统UML视图,构建包含软件需求设计信息、软件实现信息和运行环境信息的统一软件模型;
(2)根据软件可信工程技术架构,进行所述统一软件模型的一致性和有效性验证,并自动生成单元测试实例;
(3)构建基于所述统一软件模型的软件安全缺陷知识库;
(4)基于所述软件安全缺陷知识库,通过定理证明机,发现所述统一软件模型中潜在的软件安全缺陷;并根据所述潜在的软件安全缺陷给出相应的缓和方案。所述统一软件模型包括:需求部分、设计部分和实现部分,
其中,所述需求部分由UML用例图、活动图和状态图组成,所述活动图和所述状态图作为所述UML用例图的补充,描述需求中的动态信息;所述设计部分由顺序图与形式化语言组成,以功能单元为最小单位,所述顺序图作为框架,描述了完成预设功能需要调用的相应功能单元及调用规则;所述形式化语言通过形式化的描述增加了功能单元的语义信息;所述实现部分由实现功能单元的程序设计语言代码单元组成,且满足所述形式化语言描述。
所述软件可信工程技术架构包括:所述统一软件模型、模型验证模块、单元测试模块、缺陷检测模块、安全知识学习模块、软件可信评估模块和软件安全知识库,其中,所述统一软件模型贯穿于可信软件生命周期的各个阶段,为其他模块提供了不同层面的形式化语义信息;所述模型验证模块针对所述统一软件模型中的所述顺序图与所述形式化语言,对软件设计进行一致性、有效性验证;所述单元测试模块通过功能单元的形式化语言自动生成所述单元测试用例;所述缺陷检测模块使用所述软件安全知识库中存储的形式化缺陷信息,查找设计阶段的安全缺陷;所述安全知识学习模块从外界半自动学习安全知识,更新所述软件安全知识库;所述软件可信评估模块量化评估软件的可信度。
步骤(3)中的所述构建基于统一软件模型的软件安全缺陷知识库具体包括:
根据CWE中的安全缺陷进行安全缺陷分析,抽象软件安全缺陷基本结构;
对所述软件安全缺陷基本结构进行形式化建模,构建安全缺陷形式化模型;
根据所述安全缺陷形式化模型,构建所述软件安全缺陷知识库。
本发明提供的技术方案的有益效果是:
本发明提供了一种基于形式化及统一软件模型的软件可信工程方法,该方法通过结合传统软件工程、软件建模方法和形式化方法,互补了各自方法的不足之处,提出了基于形式化及统一软件模型的软件可信工程方法。统一软件模型是软件可信工程的核心理论,通过将UML视图的直观性、结构性等优点与形式化语言结合,解决了UML视图的二义性和语义的不充分等缺点,同时降低了形式化语言在大型项目中的复杂度,提升其可读性和可维护性;模型验证模块针对统一软件模型中的顺序图及其形式化语言扩展部分,对软件设计进行形式化的一致性、有效性验证,发现软件设计中存在的错误、矛盾,能够有效的提升软件的质量;缺陷检测模块基于软件安全知识库,对统一软件模型中的设计部分进行形式化的安全性验证,该过程能够发现软件设计中存在的安全隐患,有效的提升软件的安全性;单元测试模块能够在保证代码质量的同时,确保软件设计与实现的一致性;各部分协同工作在模型运行时引擎上,本方法有效的提高了软件质量、消除了设计缺陷、降低了开发成本和提高了可维护性等有益效果,解决了传统软件工程的不足。
附图说明
图1为本发明提供的基于形式化及统一软件模型的软件可信工程方法的流程图;
图2为本发明提供的统一软件模型的结构示意图;
图3为本发明提供的软件可信工程技术架构的结构示意图;
图4为本发明提供的软件安全缺陷知识库构建过程的示意图;
图5为本发明提供的软件安全缺陷抽象结构的示意图;
图6为本发明提供的软件安全缺陷的Z规格描述示意图;
图7为本发明提供的安全性验证的原理图;
图8为本发明提供的用例图示意图;
图9为本发明提供的Use Case 1的顺序图;
图10为本发明提供的op_A函数的Z规格描述示意图;
图11为本发明提供的op_A函数的JAVA代码描述意图;
图12为本发明提供的一致性验证证明责任的Z规格描述示意图;
图13为本发明提供的初始化定理的Z规格描述示意图;
图14为本发明提供的前置模式定义的Z规格描述示意图;
图15为本发明提供的前置模式定理的Z规格描述示意图;
图16为本发明提供的软件安全缺陷知识库基本结构示意图;
图17为本发明提供的Z规格基础框架中的事件和系统安全状态的Z规格描述示意图;
图18为本发明提供的操作模式的Z规格描述示意图;
图19为本发明提供的顺序图的Z规格定义的示意图;
图20为本发明提供的缺陷检测定理的Z规格描述示意图;
图21为本发明提供的定理weakness_detection_1的证明结果的示意图;
图22为本发明提供的定理weakness_detection_2的证明结果的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了解决传统软件工程的不足,本发明实施例提供了一种基于形式化及统一软件模型的软件可信工程方法,参见图1,详见下文描述:
101:基于形式化语言、传统UML视图,构建包含软件需求设计信息、软件实现信息和运行环境信息的统一软件模型;
其中,形式化语言本发明实施例以Z语言为例进行说明,具体实现时,还可以为其他的形式化语言,本发明实施例对此不做限制。
其中,通过该步骤将软件的整个开发过程(包括需求分析、设计、实现、测试、部署和维护)转变为统一软件模型的演化过程。参见图2,根据软件生命周期的定义,统一软件模型包括:需求部分、设计部分和实现部分,其中,需求部分由UML用例图、活动图和状态图组成,活动图和状态图作为UML用例图的补充,描述需求中的动态信息;设计部分由顺序图与形式化语言组成,以功能单元为最小单位,顺序图作为框架,描述了完成预设功能需要调用的相应功能单元及调用规则;形式化语言通过形式化的描述增加了功能单元的语义信息;实现部分由实现功能单元的程序设计语言代码单元组成,且满足形式化语言描述。
102:根据软件可信工程技术架构,进行统一软件模型的一致性和有效性验证,并自动生成单元测试实例;
其中,参见图3,软件可信工程技术架构包括:统一软件模型、模型验证模块、单元测试模块、缺陷检测模块、安全知识学习模块、软件可信评估模块和软件安全知识库,其中,统一软件模型贯穿于可信软件生命周期的各个阶段,为软件可信工程体系中的其他模块提供了不同层面的形式化语义信息;模型验证模块针对统一软件模型中的顺序图与形式化语言,对软件设计进行一致性、有效性验证;单元测试模块通过功能单元的形式化语言自动生成单元测试用例;缺陷检测模块使用软件安全知识库中存储的形式化缺陷信息,查找设计阶段的安全缺陷;安全知识学习模块从外界半自动学习安全知识,更新软件安全知识库;软件可信评估模块量化评估软件的可信度。统一软件模型运行时,引擎构建在JAVA虚拟机之上的一个用于加载、运行统一软件模型的容器,构成软件的后台部分。
该步骤将形式化方法融入传统软件工程,即在设计部分使用形式化语言形式化语言,丰富传统软件工程方法中设计部分的顺序图的语义信息,继承了形式化模型可验证、无二义性和语义信息丰富的优点。避免了传统软件工程人为不确定因素,实现了统一软件模型的一致性和有效性验证、安全缺陷的形式化检测、单元测试用例生成;并结合UML视图的直观性和结构性,一定程度上降低了形式化模型在大型项目中较高的复杂度。
103:构建基于统一软件模型的软件安全缺陷知识库;
通过该步骤在一定抽象层次上对软件缺陷结构进行分析,给出软件安全缺陷的本质结构,并抽取缺陷相关数据类型和操作类型,细化系统行为与安全约束,给出安全缺陷的形式化模型,将其存储在数据库中,为设计阶段安全缺陷的自动检测与缓和奠定基础。
其中,参见图4和图5,该步骤以通用缺陷列表CWE(Common WeaknessEnumeration)为数据来源,分3个主要步骤进行构建,具体为:
1、根据CWE安全缺陷进行安全缺陷分析,抽象软件安全缺陷基本结构;
其中,CWE安全缺陷存在自然语言描述二义性和模糊性,开发人员难以掌握。
2、对软件安全缺陷基本结构进行形式化建模,构建安全缺陷形式化模型;
该步骤中获取到的安全缺陷形式化模型精确、无二义性,计算机可以直接处理,满足了实际应用中的需要。
3、根据安全缺陷形式化模型,构建软件安全缺陷知识库。
抽象软件安全缺陷基本结构由系统行为和安全约束两个基本元素组成,当系统行为违反了安全约束时,软件安全缺陷成立。因此,可以将系统行为、安全约束和安全缺陷都形式化为顺序图及其上的操作序列。其中,安全缺陷是缺少某些关键行为的序列。在此基础上,可以进一步将安全缺陷用形式化语言描述,详见下文描述,最后,将形式化后缺陷和相应的缓和方案存入知识库中,软件安全缺陷的Z规格描述示意图参见图6。
104:基于软件安全缺陷知识库,通过定理证明机,发现统一软件模型中潜在的软件安全缺陷;并根据潜在的软件安全缺陷给出相应的缓和方案。
其中,定理证明机本发明实施例以Z规格定理证明机为例进行说明,具体实现时,还可以为其他形式的定理证明机,本发明实施例对此不做限制。参见图3和图7,缺陷检测模块实现统一软件模型的安全性验证,它使用统一软件模型中的Z规格描述,基于软件安全缺陷知识库,通过Z规格定理证明机,发现统一软件模型中潜在的软件安全缺陷,实现了在设计阶段的软件安全缺陷的形式化检测进行形式化的推理,并且和软件安全缺陷知识库中的形式化缺陷进行比对,以此来查找潜在的软件安全缺陷,并给出相应的缓和方案。
通过该步骤避免了在软件生命周期的后期发现软件安全缺陷,需要付出非常高昂的缓和成本;并且降低了软件安全性保障对安全专家的个人经验和知识的依赖。
下面以一个具体的实施例来说明本发明实施例提供的一种基于形式化及统一软件模型的软件可信工程方法的可行性,详见下文描述:
首先建立统一软件模型,需求分析绘制的用例图如图8所示,假设一个系统包含Use Case 1和Use Case 2两个用例,这两个用例需通过顺序图的细化,图9为Use Case 1的顺序图。在这个用例中,用户首先在网页中输入了一个参数,即str_input,然后提交了该页面,该页面的客户端部分(由HTML和Javascript构成)与网站后台交互,将str_input这个参数通过HTTP信道传回,后台将该参数作为输入执行函数op_A并最终返回页面。接下来通过Z规格来补充顺序图的语义信息,参见图10。
可以看出,op_A函数返回了自己的参数,没有做任何操作。前缀op表示该函数是由设计人员所设计,并需要开发人员通过编程语言来实现;最后,由开发人员按照Z规格描述,用程序语言代码实现函数,参见图11。
统一软件模型的形式化模型验证包括一致性验证和有效性验证。一致性验证对每个操作模式进行满足不变式与否的检查,其证明责任参见图12。
统一软件模型的有效性验证包括状态模式的有效性验证和操作模式的有效性验证。对于系统的所有状态模式,都应该存在一个初始状态,否则此状态模式是无意义的。因此,状态模式的有效性验证即是状态模式初始状态是否存在的验证,其证明责任为初始化定理,参见图13。操作模式的有效性验证是一个操作模式是否满足其前置模式的验证,其证明责任是前置模式定理,前置模式定义参见图14,前置模式定理Z规格描述参见图15。
根据统一软件模型的Z规格描述和以上3个证明责任,即可使用软件可信工程方法中的模型检测模块,自动化的完成软件模型的一致性和有效性验证。根据上述描述的基本步骤和技术方案,构建如图16所示的软件安全缺陷知识库,软件安全缺陷知识库中存储了安全缺陷基础信息、安全缺陷形式化模型、安全缺陷相关扩展、缺陷自动检测支持数据等内容。为使缺陷检测能够顺利进行,首先要定义资源,即一个顺序图中的与安全相关的各种元素,其Z规格定义方式如下所示:
Resource::Resource1|Resource2|Resource3
之后还要定义Z规格框架中的事件和系统安全状态。其中事件类型用行为来表征;事件由事件类型和所作用的资源构成;安全状态由一系列事件所组成的序列构成,参见图17和图18。
下面,利用操作模式的复合建立两个顺序图的Z规格描述,分别为sd1和sd2,参见图19。最后,使用缺陷检测模块中Z规格定理证明机来检验两张顺序图是否存在缺陷,即检查由顺序图的Z规格描述是否能推出缺陷库中的缺陷。检测定理如图20所示。
对于第一条定理,即theorem weakness_detection_1通过Z/EVES的规约证明(prove by reduce),得到结果如下所示,通过简单的计算,可以发现n2存在并且等于2,这就说明对于sd1不存在Weakness这个缺陷,参见图21。
第二条定理,即theorem weakness_detection_2的结果中并没有包含n2,这就说明Z/EVES并没有找到n2的值,即n2不存在,缺陷Weakness存在于sd2中,参见图22。
根据缺陷检测的结果,就可以知道设计中是否存在缺陷,如果不存在缺陷,如sd1,即可由开发人员根据功能单元的Z规格描述进行代码实现;如果有缺陷存在,如sd2,则可按照系统返回的缓和方案对设计进行改进,从而达到在软件开发之初便发现、控制、规避安全缺陷,降低软件的开发和维护成本,提高软件的可信性。
综上所述,本发明实施例提供了一种基于形式化及统一软件模型的软件可信工程方法,该方法通过结合传统软件工程、软件建模方法和形式化方法,互补了各自方法的不足之处,提出了基于形式化及统一软件模型的软件可信工程方法。统一软件模型是软件可信工程的核心理论,通过将UML视图的直观性、结构性等优点与形式化语言结合,解决了UML视图的二义性和语义的不充分等缺点,同时降低了形式化语言在大型项目中的复杂度,提升其可读性和可维护性;模型验证模块针对统一软件模型中的顺序图及其形式化语言扩展部分,对软件设计进行形式化的一致性、有效性验证,发现软件设计中存在的错误、矛盾,能够有效的提升软件的质量;缺陷检测模块基于软件安全知识库,对统一软件模型中的设计部分进行形式化的安全性验证,该过程能够发现软件设计中存在的安全隐患,有效的提升软件的安全性;单元测试模块能够在保证代码质量的同时,确保软件设计与实现的一致性;各部分协同工作在模型运行时引擎上,本方法有效的提高了软件质量、消除了设计缺陷、降低了开发成本和提高了可维护性等有益效果,解决了传统软件工程的不足。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于形式化及统一软件模型的软件可信工程方法,其特征在于,所述方法包括以下步骤:
(1)基于形式化语言、传统UML视图,构建包含软件需求设计信息、软件实现信息和运行环境信息的统一软件模型;
(2)根据软件可信工程技术架构,进行所述统一软件模型的一致性和有效性验证,并自动生成单元测试实例;
(3)构建基于所述统一软件模型的软件安全缺陷知识库;
(4)基于所述软件安全缺陷知识库,通过定理证明机,发现所述统一软件模型中潜在的软件安全缺陷;并根据所述潜在的软件安全缺陷给出相应的缓和方案。
2.根据权利要求1所述的一种基于形式化及统一软件模型的软件可信工程方法,其特征在于,所述统一软件模型包括:需求部分、设计部分和实现部分,
其中,所述需求部分由UML用例图、活动图和状态图组成,所述活动图和所述状态图作为所述UML用例图的补充,描述需求中的动态信息;所述设计部分由顺序图与形式化语言组成,以功能单元为最小单位,所述顺序图作为框架,描述了完成预设功能需要调用的相应功能单元及调用规则;所述形式化语言通过形式化的描述增加了功能单元的语义信息;所述实现部分由实现功能单元的程序设计语言代码单元组成,且满足所述形式化语言描述。
3.根据权利要求1所述的一种基于形式化及统一软件模型的软件可信工程方法,其特征在于,所述软件可信工程技术架构包括:所述统一软件模型、模型验证模块、单元测试模块、缺陷检测模块、安全知识学习模块、软件可信评估模块和软件安全知识库,
其中,所述统一软件模型贯穿于可信软件生命周期的各个阶段,为其他模块提供了不同层面的形式化语义信息;所述模型验证模块针对所述统一软件模型中的所述顺序图与所述形式化语言,对软件设计进行一致性、有效性验证;所述单元测试模块通过功能单元的形式化语言自动生成所述单元测试用例;所述缺陷检测模块使用所述软件安全知识库中存储的形式化缺陷信息,查找设计阶段的安全缺陷;所述安全知识学习模块从外界半自动学习安全知识,更新所述软件安全知识库;所述软件可信评估模块量化评估软件的可信度。
4.根据权利要求1所述的一种基于形式化及统一软件模型的软件可信工程方法,其特征在于,步骤(3)中的所述构建基于统一软件模型的软件安全缺陷知识库具体包括:
根据CWE中的安全缺陷进行安全缺陷分析,抽象软件安全缺陷基本结构;
对所述软件安全缺陷基本结构进行形式化建模,构建安全缺陷形式化模型;
根据所述安全缺陷形式化模型,构建所述软件安全缺陷知识库。
CN2011100465698A 2011-02-25 2011-02-25 一种基于形式化及统一软件模型的软件可信工程方法 Pending CN102136047A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100465698A CN102136047A (zh) 2011-02-25 2011-02-25 一种基于形式化及统一软件模型的软件可信工程方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100465698A CN102136047A (zh) 2011-02-25 2011-02-25 一种基于形式化及统一软件模型的软件可信工程方法

Publications (1)

Publication Number Publication Date
CN102136047A true CN102136047A (zh) 2011-07-27

Family

ID=44295831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100465698A Pending CN102136047A (zh) 2011-02-25 2011-02-25 一种基于形式化及统一软件模型的软件可信工程方法

Country Status (1)

Country Link
CN (1) CN102136047A (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629232A (zh) * 2012-01-09 2012-08-08 北京航空航天大学 引入测试有效性的软件可靠性验证测试方法
CN102722441A (zh) * 2012-06-11 2012-10-10 清华大学 智能的uml模型的形式化检测方法及装置
CN103036739A (zh) * 2012-12-11 2013-04-10 首都师范大学 一种用于高可靠通信系统验证与性能分析的形式化方法
WO2013118006A1 (en) * 2012-02-07 2013-08-15 International Business Machines Corporation Automatic synthesis of unit tests for security testing
CN104008057A (zh) * 2014-06-13 2014-08-27 国家电网公司 一种基于缺陷分析的代码安全性评价方法
CN105844091A (zh) * 2016-03-21 2016-08-10 卡斯柯信号有限公司 三模型体系的列车运行控制系统形式化建模及验证方法
JP2017033562A (ja) * 2015-08-05 2017-02-09 ゼネラル・エレクトリック・カンパニイ 安全重視ソフトウェア開発のためのモデルベース技術および過程のためのシステムおよび方法
CN106502892A (zh) * 2016-10-20 2017-03-15 杭州电子科技大学 一种基于uml模型的测试用例优先排序方法
CN107045439A (zh) * 2016-12-26 2017-08-15 天津大学 基于安全需求模板的软件安全需求获取系统及方法
US9940222B2 (en) 2015-11-20 2018-04-10 General Electric Company System and method for safety-critical software automated requirements-based test case generation
US10108536B2 (en) 2014-12-10 2018-10-23 General Electric Company Integrated automated test case generation for safety-critical software
CN109918049A (zh) * 2019-01-12 2019-06-21 西北工业大学 基于形式化验证的软件开发模型的验证方法
CN109933309A (zh) * 2019-03-06 2019-06-25 上海工业控制安全创新科技有限公司 机器学习算法应用于汽车软件开发功能安全的流程方法
CN111143212A (zh) * 2019-12-24 2020-05-12 中国航空工业集团公司西安飞机设计研究所 一种模块集成式软件架构下的功能逻辑函数库验证方法
CN112100625A (zh) * 2020-09-14 2020-12-18 浙江大学 一种基于模型检测的操作系统访问控制脆弱性发现方法
CN112416337A (zh) * 2020-11-11 2021-02-26 北京京航计算通讯研究所 一种面向航天嵌入式系统的软件架构开发系统
CN112416336A (zh) * 2020-11-11 2021-02-26 北京京航计算通讯研究所 一种面向航天嵌入式系统的软件架构设计方法
CN113158178A (zh) * 2021-04-06 2021-07-23 支付宝(杭州)信息技术有限公司 一种可信执行环境的构建方法、装置及设备

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629232B (zh) * 2012-01-09 2014-03-26 北京航空航天大学 引入测试有效性的软件可靠性验证测试方法
CN102629232A (zh) * 2012-01-09 2012-08-08 北京航空航天大学 引入测试有效性的软件可靠性验证测试方法
US9892258B2 (en) 2012-02-07 2018-02-13 International Business Machines Corporation Automatic synthesis of unit tests for security testing
GB2512258A (en) * 2012-02-07 2014-09-24 Ibm Automatic synthesis of unit tests for security testing
US8856935B2 (en) 2012-02-07 2014-10-07 International Business Machines Corporation Automatic synthesis of unit tests for security testing
WO2013118006A1 (en) * 2012-02-07 2013-08-15 International Business Machines Corporation Automatic synthesis of unit tests for security testing
US8925094B2 (en) 2012-02-07 2014-12-30 International Business Machines Corporation Automatic synthesis of unit tests for security testing
CN102722441A (zh) * 2012-06-11 2012-10-10 清华大学 智能的uml模型的形式化检测方法及装置
CN102722441B (zh) * 2012-06-11 2016-03-23 清华大学 智能的uml模型的形式化检测方法及装置
CN103036739A (zh) * 2012-12-11 2013-04-10 首都师范大学 一种用于高可靠通信系统验证与性能分析的形式化方法
CN103036739B (zh) * 2012-12-11 2015-06-17 首都师范大学 一种用于高可靠通信系统验证与性能分析的形式化方法
CN104008057A (zh) * 2014-06-13 2014-08-27 国家电网公司 一种基于缺陷分析的代码安全性评价方法
US10108536B2 (en) 2014-12-10 2018-10-23 General Electric Company Integrated automated test case generation for safety-critical software
CN106528100A (zh) * 2015-08-05 2017-03-22 通用电气公司 用于安全关键软件开发的基于模型的技术和过程的系统和方法
JP2017033562A (ja) * 2015-08-05 2017-02-09 ゼネラル・エレクトリック・カンパニイ 安全重視ソフトウェア開発のためのモデルベース技術および過程のためのシステムおよび方法
CN106528100B (zh) * 2015-08-05 2020-06-09 通用电气公司 用于安全关键软件开发的基于模型的技术和过程的系统和方法
US9940222B2 (en) 2015-11-20 2018-04-10 General Electric Company System and method for safety-critical software automated requirements-based test case generation
CN105844091A (zh) * 2016-03-21 2016-08-10 卡斯柯信号有限公司 三模型体系的列车运行控制系统形式化建模及验证方法
CN106502892A (zh) * 2016-10-20 2017-03-15 杭州电子科技大学 一种基于uml模型的测试用例优先排序方法
CN106502892B (zh) * 2016-10-20 2018-11-13 杭州电子科技大学 一种基于uml模型的测试用例优先排序方法
CN107045439A (zh) * 2016-12-26 2017-08-15 天津大学 基于安全需求模板的软件安全需求获取系统及方法
CN109918049A (zh) * 2019-01-12 2019-06-21 西北工业大学 基于形式化验证的软件开发模型的验证方法
CN109933309A (zh) * 2019-03-06 2019-06-25 上海工业控制安全创新科技有限公司 机器学习算法应用于汽车软件开发功能安全的流程方法
CN111143212B (zh) * 2019-12-24 2023-06-23 中国航空工业集团公司西安飞机设计研究所 一种模块集成式软件架构下的功能逻辑函数库验证方法
CN111143212A (zh) * 2019-12-24 2020-05-12 中国航空工业集团公司西安飞机设计研究所 一种模块集成式软件架构下的功能逻辑函数库验证方法
CN112100625A (zh) * 2020-09-14 2020-12-18 浙江大学 一种基于模型检测的操作系统访问控制脆弱性发现方法
WO2021147343A1 (zh) * 2020-09-14 2021-07-29 浙江大学 一种基于模型检测的操作系统访问控制脆弱性发现方法
CN112100625B (zh) * 2020-09-14 2021-10-19 浙江大学 一种基于模型检测的操作系统访问控制脆弱性发现方法
US11868481B2 (en) 2020-09-14 2024-01-09 Zhejiang University Method for discovering vulnerabilities of operating system access control mechanism based on model checking
CN112416336A (zh) * 2020-11-11 2021-02-26 北京京航计算通讯研究所 一种面向航天嵌入式系统的软件架构设计方法
CN112416337A (zh) * 2020-11-11 2021-02-26 北京京航计算通讯研究所 一种面向航天嵌入式系统的软件架构开发系统
CN112416336B (zh) * 2020-11-11 2023-04-28 北京京航计算通讯研究所 一种面向航天嵌入式系统的软件架构设计方法
CN113158178A (zh) * 2021-04-06 2021-07-23 支付宝(杭州)信息技术有限公司 一种可信执行环境的构建方法、装置及设备
WO2022213968A1 (zh) * 2021-04-06 2022-10-13 支付宝(杭州)信息技术有限公司 用于构建可信执行环境的方法、装置及设备

Similar Documents

Publication Publication Date Title
CN102136047A (zh) 一种基于形式化及统一软件模型的软件可信工程方法
Lochau et al. Model-based pairwise testing for feature interaction coverage in software product line engineering
Donatelli et al. Model checking timed and stochastic properties with CSL^{TA}
CN108376221A (zh) 一种基于aadl模型扩展的软件系统安全性验证与评估方法
CN107066256A (zh) 一种基于时态的对象变更模型的建模方法
Bernardi et al. Security modelling and formal verification of survivability properties: Application to cyber–physical systems
Guessi et al. Checking the architectural feasibility of systems-of-systems using formal descriptions
CN102073823A (zh) 一种基于缺陷分析的软件可信性评价方法
Antignac et al. Privacy architectures: Reasoning about data minimisation and integrity
Lamperti et al. Introduction to Diagnosis of Active Systems
de Leoni et al. Aligning partially-ordered process-execution traces and models using automated planning
CN115062463B (zh) 一种基于举证结构建模语言的建模系统
CN101833453B (zh) 基于安全知识库的顺序图缺陷检测方法
CN104765688A (zh) 一种可动态部署规则的Java程序运行时验证系统
Bendík et al. Timed automata robustness analysis via model checking
CN112416336A (zh) 一种面向航天嵌入式系统的软件架构设计方法
CN101833505B (zh) 一种软件系统安全缺陷检测方法
Van Den Berg et al. Designing cyber-physical systems with aDSL: A domain-specific language and tool support
CN104615438B (zh) 一种软件产品线的特征切片模型检测方法
Zhang et al. Distributed system model using SysML and event-B
Kaur et al. A modelling framework for automotive software design and optimal test path generation
Romero et al. Using the base semantics given by fUML for verification
Gao et al. Service reconfiguration architecture based on probabilistic modeling checking
Ai et al. What ruined your cake: impacts of code modifications on bug distribution
Jarraya et al. Formal specification and probabilistic verification of SysML activity diagrams

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110727