[发明专利]数据耦合和控制耦合自动分析方法有效
申请号: | 201711043685.8 | 申请日: | 2017-10-31 |
公开(公告)号: | CN107703923B | 公开(公告)日: | 2020-04-14 |
发明(设计)人: | 倪红英 | 申请(专利权)人: | 中国航空无线电电子研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海和跃知识产权代理事务所(普通合伙) 31239 | 代理人: | 杨慧 |
地址: | 200233 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 耦合 控制 自动 分析 方法 | ||
本发明公开了一种数据耦合和控制耦合自动分析方法,包含:分析软件源代码,获取潜在耦合因子,并记录潜在耦合因子;分析软件源代码,确定程序的调用关系,沿着程序调用关系,识别MPC路径并形成MPC路径集合;识别各MPC路径上的潜在耦合因子是否为“耦合对”;在软件源代码中出现“耦合对”的地方插装标记语句;在已插装了标记语句的程序上,执行基于需求的测试程序,分析所插装的标记语句的执行结果,生成耦合覆盖分析报告。本发明实现了数据耦合和控制耦合分析的自动化,避免了人工分析所可能引入的错误和遗漏。
技术领域
本发明涉及民用飞机软件开发技术,特别涉及软件验证技术中的数据耦合和控制耦合自动分析技术。
背景技术
软件工程倡导软件的高内聚和低耦合,但是模块之间的耦合又是难以避免的,因此,安全关键软件研发必须考虑如何保证耦合不带来负面影响。
按照国际民用飞机软件适航标准RTCA DO-178C《Software Consideration onAirborne System and Equipment Certification》,软件安全性等级自高到低分为A、B、C、D、E五个等级。对于安全性等级比较高的软件(A级、B级、C级),DO-178C要求在软件验证过程中,必须进行数据耦合和控制耦合分析,以保证所有耦合均得到验证。两项分析均要求基于软件需求的动态测试结果展开,要求“分析确认基于需求的测试遍历了模块之间的数据和控制耦合”。
DO-178C对数据耦合的定义为:一个软件模块对不完全被其自身所控制的数据的依赖。
DO-178C对控制耦合的定义为:一个软件模块影响另一个软件模块执行的方式或程度。
软件工程中定义了6种耦合关系,其中也有数据耦合和控制耦合,但其定义与DO-178C不同。DO-178C的数据耦合与控制耦合覆盖了软件工程的全部6种耦合,对应关系见下表:
本案所关注的数据耦合和控制耦合是DO-178C定义的数据耦合和控制耦合。
目前已知的数据耦合和控制耦合验证实施方法主要是人工分析方法:人工分析代码中存在哪些数据耦合和控制耦合关系,人工检查基于软件需求的动态测试用例设计和测试程序执行情况,人工判断程序的数据耦合和控制耦合是否被充分地验证过了。
人工分析费时费力且容易发生遗漏和错误,自动化分析将能有效保证分析质量并提高工作效率。
说明:模块(Module)是指程序的基本组成部分。
发明内容
本发明的发明目的在于通过分析DO-178C关于数据耦合和控制耦合的定义、耦合因子在软件中被使用时的特征,提出并实现了一种数据耦合和控制耦合的自动分析方法。本发明的原理是通过潜在耦合因子的识别,识别出可能发生耦合的全局变量、局部变量、函数参数、数据文件、数据库等;通过程序调用关系的识别,明确程序模块的执行顺序;提出“更改路径覆盖(Modified Path Coverage)”的路径遍历策略,只考虑影响耦合的路径,不考虑单纯循环(循环控制语句不含耦合因子)等不影响耦合的路径,使得完全路径遍历的可能是天文数字的路径数量,降低为工程可实施的路径数量;通过对按照更改路径覆盖策略对应的每条路径(以下简称MPC路径)的识别,明确程序语句的执行顺序;通过MPC路径的遍历,识别出全部的“耦合对”;通过程序插装,为“耦合对”打上标记;通过基于需求测试程序的执行,采集耦合覆盖数据;通过耦合结果分析,产生耦合覆盖分析报告。
本发明的发明目的通过以下技术方案实现:
一种数据耦合和控制耦合自动分析方法,包含以下程序步骤:
步骤1、分析软件源代码,获取潜在耦合因子,并记录潜在耦合因子;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空无线电电子研究所,未经中国航空无线电电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711043685.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:服务机器人全自动故障分析方法及其装置
- 下一篇:一种电机控制装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置