CN112597446B - 一种安全关键软件建模语言安全子集的筛选方法 - Google Patents

一种安全关键软件建模语言安全子集的筛选方法 Download PDF

Info

Publication number
CN112597446B
CN112597446B CN202011465637.XA CN202011465637A CN112597446B CN 112597446 B CN112597446 B CN 112597446B CN 202011465637 A CN202011465637 A CN 202011465637A CN 112597446 B CN112597446 B CN 112597446B
Authority
CN
China
Prior art keywords
safety
subset
elements
modeling
modeling language
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.)
Active
Application number
CN202011465637.XA
Other languages
English (en)
Other versions
CN112597446A (zh
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.)
AECC Aero Engine Control System Institute
Original Assignee
AECC Aero Engine Control System Institute
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 AECC Aero Engine Control System Institute filed Critical AECC Aero Engine Control System Institute
Priority to CN202011465637.XA priority Critical patent/CN112597446B/zh
Publication of CN112597446A publication Critical patent/CN112597446A/zh
Application granted granted Critical
Publication of CN112597446B publication Critical patent/CN112597446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种安全关键软件建模语言安全子集的筛选方法,该方法包括以下步骤:(1)建立建模语言的完整词汇集;(2)从完整词汇集剔除不安全元素,建立安全子集初筛版本;(3)建立目标领域编程元素集合;(4)安全子集的充分性分析;(5)安全子集的安全性验证。本发明所述的方法确保了安全子集的充分性、必要性和安全性,使得安全子集既能满足安全关键软件开发的需要,又规避了因安全子集中的元素功能重复带来的问题,从而生成安全性极高的建模语言。

Description

一种安全关键软件建模语言安全子集的筛选方法
技术领域
本发明属于软件开发领域,特别是一种安全关键软件建模语言安全子集的筛选方法。
背景技术
航空航天等领域对能导致灾难性风险的软件的安全性提出了严格的要求,这些软件被称为安全关键软件。软件开发需要使用编程语言,每种编程语言都对其使用的词汇和语法做出限定,形成相应的词汇集和语法集。为避免编程语言本身的问题引入设计缺陷,安全关键软件开发必须对选用的编程语言的词汇和语法做出进一步的限制,从而建立编程语言的安全子集,再以此为基础开展软件产品的研发。
基于模型的软件设计使用图形化的建模语言建立模型并自动生成代码。建模语言中,词汇集通常以库的形式,独立于语法规则而存在。因此,要对建模语言的词汇集做出进一步限制,可以在原词汇集的基础上进行筛选,形成安全子集,对语法集的限制,则称为建模规范。安全子集对于安全关键软件建模起着重要作用,但却容易缺乏充分性、必要性和安全性。当充分性不足时,安全子集无法满足安全关键软件开发的需要;当必要性不足时,安全子集会存在功能重复或相近的元素,功能重复的元素将导致相同的逻辑可能产生不同的选择和设计出不同的结果,而功能相近的元素容易引起使用的错误;当安全性不足时,安全子集的元素无法生成代码或生成的代码存在安全风险,安全子集的元素不具有明确的功能、接口及良好的图形显示,使得模型设计人员由于误解而产生错误。
发明内容
发明目的:本发明的目的是提供一种能够确保安全子集的充分性、必要性、安全性的安全关键软件建模语言安全子集的筛选方法。
技术方案:从充分性角度考虑,安全子集应能满足安全关键软件开发的需要,即常见的建模元素在安全子集中要有相应的模型元素与之对应,如分支选择结构、算术运算、逻辑运算等;从必要性角度考虑,安全子集中的元素应避免功能的重复;从安全性角度考虑,一方面,安全子集的元素应能生成代码且生成的代码应不存在安全风险;另一方面,安全子集的元素应具有明确的功能、接口及良好的图形显示,从而避免模型设计人员由于误解而产生错误。
本发明所述的安全关键软件建模语言安全子集的筛选方法,包括以下步骤:
(1)根据原建模语言的指导手册建立建模语言的完整词汇集;
(2)对建模语言完整词汇集开展必要性分析,从完整词汇集剔除不安全元素,建立安全子集初筛版本;
(3)根据使用领域的要求,建立目标领域编程元素集合,作为充分性分析的依据;
(4)安全子集的充分性分析;
(5)安全子集的安全性验证。
所述步骤(2)包括步骤(2.1):遍历建模语言完整词汇集,剔除不能够生成代码的元素。
所述步骤(2)包括步骤(2.2):遍历建模语言完整词汇集,分析建模元素的图标、输入输出接口、使用方法,剔除易引起软件设计人员误解的元素,剔除使用时操作过于复杂的元素。
所述步骤(2)包括步骤(2.3):遍历建模语言完整词汇集,对建模元素实现的功能进行比较,剔除功能重复的元素。
所述步骤(5)包括步骤(5.1):使用安全子集的建模元素搭建模型。
所述步骤(5)包括步骤(5.2):将搭建模型的模型生成代码。
所述步骤(5)包括步骤(5.3):对生成代码开展审查,确定生成代码能够正确实现模型的设计意图。
所述步骤(5)包括步骤(5.4):使用静态分析工具对生成代码开展静态分析,检查生成代码的不安全因素及对编码规范的符合性。
所述步骤(5)包括步骤(5.5):将建模元素与其生成的代码置于同一仿真环境下,构建仿真环境,并将相同的激励信号输入给建模元素与其生成的代码,比较两者的输出信号,若有差异则应做进一步分析,若无差异则验证通过。
有益效果:与现有技术相比,本发明具有如下优点:1、确保了安全子集的充分性,使得安全子集能够满足安全关键软件开发的需要;2、确保了安全子集的必要性,规避因安全子集中的元素功能重复或相近带来的问题;3、确保了安全子集的安全性,安全子集的元素能够生成代码且生成的代码不存在安全风险,同时,安全子集的元素具有明确的功能、接口及良好的图形显示,避免模型设计人员由于误解而产生错误。
附图说明
图1为本方法的步骤流程图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
本发明所述的一种安全关键软件建模语言安全子集的筛选方法包括如图1所示的步骤,具体为:
(1)根据原建模语言的指导手册建立建模语言的完整词汇集;
(2)对建模语言完整词汇集开展必要性分析,从完整词汇集剔除不安全元素,建立安全子集初筛版本;
(2.1)遍历建模语言完整词汇集,剔除不能够生成代码的元素;
(2.2)遍历建模语言完整词汇集,分析建模元素的图标、输入输出接口、使用方法,剔除易引起软件设计人员误解的元素,剔除使用时操作过于复杂的元素;
(2.3)遍历建模语言完整词汇集,对建模元素实现的功能进行比较,剔除功能重复的元素;
(3)根据使用领域的要求,建立目标领域编程元素集合,作为充分性分析的依据;
(4)安全子集的充分性分析,遍历目标领域编程元素集合中的元素,检查在安全子集的初筛版本中是否有相对应的元素,若初筛版本安全子集中缺少部分元素,则分析原因并从原词汇集中挑选相应元素进行补充;若初筛版本安全子集能够包含目标领域编程元素集合,则形成安全子集的充分版本;
(5)对安全子集的充分版本开展安全性验证,安全性验证的方法包括生成代码的审查、静态分析、建模元素与其生成代码的对比验证;
(5.1)使用安全子集的建模元素搭建模型;
(5.2)将搭建模型的模型生成代码;
(5.3)对生成代码开展审查,确定生成代码能够正确实现模型的设计意图;
(5.4)使用静态分析工具对生成代码开展静态分析,检查生成代码的不安全因素及对编码规范的符合性;
(5.5)将建模元素与其生成的代码置于同一仿真环境下,构建仿真环境,并将相同的激励信号输入给建模元素与其生成的代码,比较两者的输出信号,若有差异则应做进一步分析,若无差异则验证通过。

Claims (4)

1.一种安全关键软件建模语言安全子集的筛选方法,其特征在于,包括以下步骤:
(1)根据原建模语言的指导手册建立建模语言的完整词汇集;
(2)对建模语言完整词汇集开展必要性分析,从完整词汇集剔除不安全元素,建立安全子集初筛版本;
(3)根据使用领域的要求,建立目标领域编程元素集合,作为充分性分析的依据;
(4)安全子集的充分性分析;遍历目标领域编程元素集合中的元素,检查在安全子集的初筛版本中是否有相对应的元素,若初筛版本安全子集中缺少部分元素,则分析原因并从原词汇集中挑选相应元素进行补充;若初筛版本安全子集能够包含目标领域编程元素集合,则形成安全子集的充分版本;
(5)安全子集的安全性验证;
(5.1)使用安全子集的建模元素搭建模型;
(5.2)将搭建模型的模型生成代码;
(5.3)对生成代码开展审查,确定生成代码能够正确实现模型的设计意图;
(5.4)使用静态分析工具对生成代码开展静态分析,检查生成代码的不安全因素及对编码规范的符合性;
(5.5)将建模元素与其生成的代码置于同一仿真环境下,构建仿真环境,并将相同的激励信号输入给建模元素与其生成的代码,比较两者的输出信号,若有差异则应做进一步分析,若无差异则验证通过。
2.根据权利要求1所述的安全关键软件建模语言安全子集的筛选方法,其特征在于,所述步骤(2)包括步骤(2.1):遍历建模语言完整词汇集,剔除不能够生成代码的元素。
3.根据权利要求1所述的安全关键软件建模语言安全子集的筛选方法,其特征在于,所述步骤(2)包括步骤(2.2):遍历建模语言完整词汇集,分析建模元素的图标、输入输出接口和使用方法,剔除易引起软件设计人员误解的元素,剔除使用时操作过于复杂的元素。
4.根据权利要求1所述的安全关键软件建模语言安全子集的筛选方法,其特征在于,所述步骤(2)包括步骤(2.3):遍历建模语言完整词汇集,对建模元素实现的功能进行比较,剔除功能重复的元素。
CN202011465637.XA 2020-12-14 2020-12-14 一种安全关键软件建模语言安全子集的筛选方法 Active CN112597446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011465637.XA CN112597446B (zh) 2020-12-14 2020-12-14 一种安全关键软件建模语言安全子集的筛选方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011465637.XA CN112597446B (zh) 2020-12-14 2020-12-14 一种安全关键软件建模语言安全子集的筛选方法

Publications (2)

Publication Number Publication Date
CN112597446A CN112597446A (zh) 2021-04-02
CN112597446B true CN112597446B (zh) 2023-07-25

Family

ID=75192742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011465637.XA Active CN112597446B (zh) 2020-12-14 2020-12-14 一种安全关键软件建模语言安全子集的筛选方法

Country Status (1)

Country Link
CN (1) CN112597446B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1402354A2 (en) * 2001-06-08 2004-03-31 The Secretary Of State For Defence Automatic development of software codes
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
CN106528970A (zh) * 2016-10-31 2017-03-22 耿生玲 一种基于可能性时空混成自动机的cps建模与属性验证方法
WO2017063178A1 (en) * 2015-10-15 2017-04-20 Accenture Global Services Limited System and method for selecting controllable parameters for equipment operation safety
US10108400B1 (en) * 2015-01-06 2018-10-23 Rockwell Collins, Inc. Rapid avionics development environment
WO2019071354A1 (en) * 2017-10-13 2019-04-18 2509757 Ontario Inc. IDENTIFYING SECURITY RISKS IN A SECURE SOFTWARE LIFE CYCLE
CN110674473A (zh) * 2019-09-12 2020-01-10 中国民航大学 一种基于stpa的安全关键软件安全性验证方法
CN111966598A (zh) * 2020-08-19 2020-11-20 江南机电设计研究所 一种C++Test定制化方法及航天型号软件代码单元静态分析方法
CN112596721A (zh) * 2020-12-14 2021-04-02 中国航发控制系统研究所 一种安全关键软件建模语言安全子集的管理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030159070A1 (en) * 2001-05-28 2003-08-21 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US7243374B2 (en) * 2001-08-08 2007-07-10 Microsoft Corporation Rapid application security threat analysis
US8925076B2 (en) * 2012-12-11 2014-12-30 Kaspersky Lab Zao Application-specific re-adjustment of computer security settings

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1402354A2 (en) * 2001-06-08 2004-03-31 The Secretary Of State For Defence Automatic development of software codes
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
US10108400B1 (en) * 2015-01-06 2018-10-23 Rockwell Collins, Inc. Rapid avionics development environment
WO2017063178A1 (en) * 2015-10-15 2017-04-20 Accenture Global Services Limited System and method for selecting controllable parameters for equipment operation safety
CN106528970A (zh) * 2016-10-31 2017-03-22 耿生玲 一种基于可能性时空混成自动机的cps建模与属性验证方法
WO2019071354A1 (en) * 2017-10-13 2019-04-18 2509757 Ontario Inc. IDENTIFYING SECURITY RISKS IN A SECURE SOFTWARE LIFE CYCLE
CN110674473A (zh) * 2019-09-12 2020-01-10 中国民航大学 一种基于stpa的安全关键软件安全性验证方法
CN111966598A (zh) * 2020-08-19 2020-11-20 江南机电设计研究所 一种C++Test定制化方法及航天型号软件代码单元静态分析方法
CN112596721A (zh) * 2020-12-14 2021-04-02 中国航发控制系统研究所 一种安全关键软件建模语言安全子集的管理方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
一种面向安全关键软件的程序证明方法研究;曲长亮;中国优秀硕士学位论文全文数据库 信息科技辑(第1期);I138-119 *
基于SCADE的航空发动机FADEC软件开发;周彰毅;黄浩;方伟;朱理化;;测控技术(第01期);110-115 *
基于XML的软件安全静态检测方法研究;周宽久;郑红波;赖晓晨;刘春燕;迟宗正;;计算机工程与应用(第28期);64-69 *
基于模糊决策的云计算安全模型;陈静;;现代电子技术(第23期);89-92+96 *
面向龙芯处理器的编译检测技术研究;赖策;李明东;刘茜;李艳梅;;西华师范大学学报(自然科学版)(第04期);462-466 *

Also Published As

Publication number Publication date
CN112597446A (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
Thompson et al. Specification-based prototyping for embedded systems
US9754059B2 (en) Graphical design verification environment generator
WO2012032890A1 (ja) ソースコード変換方法およびソースコード変換プログラム
US7228524B2 (en) Method and system for analysis of software requirements
EP1672547A1 (en) Event-driven model generated from an ordered natural language interface
WO2007001108A1 (en) System for providing feature-oriented software product line engineering environment
US7577928B2 (en) Verification of an extracted timing model file
KR20080055913A (ko) 집적회로 디자인 시뮬레이션을 위한 어써션의 개발 방법 및시스템과 장치
CN112597446B (zh) 一种安全关键软件建模语言安全子集的筛选方法
Burnard et al. Verifying and validating automatically generated code
Manolios et al. A model-based framework for analyzing the safety of system architectures
Erkkinen et al. Model-based design for DO-178B with qualified tools
US8751988B1 (en) Computer-implemented methods and systems for automatic generation of layout versus schematic (LVS) rule files and regression test data suites
Marcil et al. Realizing DO-178C's value by using new technology: OOT, MBDV, TQC & FM
JP5001190B2 (ja) Lsi設計検証システム、lsi設計検証方法およびそのプログラム
CN115398358A (zh) 用于分析可编程逻辑控制器程序的方法
US20070186198A1 (en) Generation of an extracted timing model file
KR101601741B1 (ko) 서로 다른 언어로 작성된 프로그램들의 동일성을 검증하는 검증장치
Stürmer et al. Modeling Guidelines and Model Analysis Tools in Embedded Automotive Software Development.
Ermel et al. Behavior-preserving simulation-to-animation model and rule transformations
CN118034661B (zh) 大语言模型智能任务应用系统
Sarkis et al. Recommendations for the usage of design models in aviation software
da Cruz et al. Ambers: Improving requirements specification through assertive models and scade/doors integration
Lecomte Atelier B
Bowen et al. Formal Requirements Specification.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant