System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于低层需求的源代码数据耦合正确性分析方法和系统技术方案_技高网

基于低层需求的源代码数据耦合正确性分析方法和系统技术方案

技术编号:40262147 阅读:9 留言:0更新日期:2024-02-02 22:52
本发明专利技术公开了基于低层需求的源代码数据耦合正确性分析方法和系统,评估低层需求条目之间数据耦合关系的一致性,基于低层需求评估源代码数据耦合的正确性。其技术方案为:利用源代码数据耦合分析的结果,基于源代码与低层需求之间的追溯关系,快速、逆向生成基于低层需求的数据耦合关系,既可以作为低层需求条目之间数据耦合关系正确性的判据,反过来作为源代码数据耦合关系是否符合低层需求的判断基准,为评估源代码与高层需求之间数据耦合关系的正确性架起了桥梁。同时,可以发现软件实现所遗漏的低层需求功能、及额外引入的多余代码等软件缺陷。

【技术实现步骤摘要】

本专利技术涉及软件测试与验证领域,具体一种基于低层需求的源代码数据耦合正确性分析方法和系统


技术介绍

1、do-178b/c《机载系统和设备合格审定中的软件考虑》在其附表a-7中定义了“完成软件结构的测试覆盖(数据耦合与控制耦合)”的适航验证目标,通常用于度量在基于需求的软(硬)件集成测试过程中,数据耦合关系被覆盖的程度。在执行测试之前,需要先识别源代码中不同函数模块之间的数据耦合关系。

2、由于软(硬)件集成测试属于软件工程后期的活动,发现缺陷之后的修复代价较大。因此,如果能够在软件工程早期,通过评审、分析等方式,提前发现源代码中不同函数模块之间的数据耦合关系的正确性,将会大大减少修复缺陷的代价。

3、在所有软件生命周期数据中,低层需求与源代码之间是直接追溯的关系。要判断源代码不同模块之间数据耦合关系的正确性,首先需要确认其是否符合低层需求。

4、为实现上述的软件结构的测试覆盖(数据耦合与控制耦合),开发了从软件开发生命周期数据两端(高层需求、源代码)向中间(低层需求、软件架构)双向逼近、正向/逆向结合的软件数据耦合分析方案。为了在机载软件验证实践中全面落实该方案,需要将其中的各个数据耦合分析子流程进一步分解和细化。而其中,如何基于低层需求判断源代码不同模块之间的数据耦合关系正确性,是目前业界需要解决的问题。


技术实现思路

1、以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。

2、本专利技术的目的在于解决上述问题,提供了一种基于低层需求的源代码数据耦合正确性分析方法和系统,一方面可以评估低层需求条目之间数据耦合关系的一致性,另一方面可以基于低层需求评估源代码数据耦合的正确性。

3、本专利技术的技术方案为:本专利技术揭示了一种基于低层需求的源代码数据耦合正确性分析方法,方法包括多条低层需求对应一个函数模块的处理子流程,该子流程包括:

4、步骤1:根据一组低层需求对外接口的并集与函数模块接口的一一对应的关系,将函数模块进一步细分为语句块,对语句块进行唯一性编号、标识,其中一组低层需求中包含s个数目;

5、步骤2:将低层需求与函数模块的s:1映射关系,转换为低层需求与函数模块语句块的1:1映射关系;

6、步骤3:依据低层需求和源代码函数及语句块的划分,检查低层需求与函数模块语句块的1:1映射关系表中是否覆盖了所有低层需求条目和所有语句块,如未完全覆盖低层需求,则表示软件实现功能不完整;如未完全覆盖所有语句块,则表示软件实现中可能引入了多余代码导致产生非预期的功能,对应提交软件缺陷处理流程;

7、步骤4:利用源代码函数与低层需求的追溯关系,建立源代码函数与一组低层需求的对照表;

8、步骤5:依据低层需求文档,提取每条文本化或表格的形式描述的低层需求输入、输出接口,形成低层需求输入、输出信息表;

9、步骤6:从低层需求输入、输出信息表中提取低层需求输出信息/数据,生成低层需求数据定义表;提取低层需求输入信息/数据,生成低层需求数据使用表;

10、步骤7:基于低层需求数据定义表、低层需求数据使用表,将每一个低层需求数据的所有定义与所有使用交叉配对,形成多组可能的低层需求数据定义-使用对表,再从中自动删除定义与使用局限在一个低层需求的定义-使用对,形成低层需求间数据定义-使用对表;

11、步骤8:根据低层需求数据定义-使用对表,扩展低层需求输入、输出信息表,补充输入来源与输出去向,完成关联低层需求条目之间的数据耦合关系分析,形成低层需求数据耦合关系表,其中,输入接口对应定义-使用对中的使用,输入来源对应定义-使用对中的定义,输出接口对应定义-使用对中的定义,输出去向对应定义-使用对中的使用;

12、步骤9:检查低层需求数据耦合关系表中输入来源与输出去向是否存在空数据,如是,则表示存在数据耦合异常,需修改低层需求,重新开始分析;如否,则继续后续步骤的分析;

13、步骤10:按照源代码函数同名的原则,依据软件低层需求函数组成信息表,将低层需求分组,从低层需求数据定义-使用表中自动删除定义与使用局限在一组低层需求的定义-使用对,形成与源代码有效变量定义-使用对表对应的有效低层需求数据定义-使用对表;

14、步骤11:以函数中的低层需求条目分组为对象,将有效低层需求数据定义-使用对表转化为函数低层需求条目分组定义表和函数低层需求条目分组使用表,同时从中删除重复数据,并将相同函数集中排列到相邻的连续行;

15、步骤12:将函数低层需求条目分组定义表和函数低层需求条目分组使用表合并为函数低层需求条目分组函数输入、输出接口表;

16、步骤13:按照函数名称相同的原则,评审函数低层需求条目分组输入、输出接口表中的数据名称与源代码数据耦合分析过程中产生的函数输入、输出变量表中的变量名称是否一一对应,如是,则判定源代码数据耦合关系符合低层需求;否则,提交缺陷单,待缺陷修复后启动回归评审。

17、根据本专利技术的基于低层需求的源代码数据耦合正确性分析方法的一实施例,方法还包括一条低层需求对应一个函数模块的处理子流程,该子流程包括:

18、基于低层需求对外接口与函数模块接口的一一对应的关系,根据源代码数据耦合分析过程中产生的函数输入、输出变量表,利用源代码函数与低层需求的追溯关系,结合低层需求文档定义的低层需求输入、输出接口,直接生成低层需求输入、输出接口与函数输入、输出变量之间的一一对应关系;

19、评审源代码函数与低层需求输入、输出接口是否一致,如果评审结果一致,则表示源代码数据耦合分析过程中产生的输出适用于低层需求,基于低层需求直接判断源代码数据耦合关系是否正确,基于低层需求的数据耦合分析结果将低层需求条目与函数名称、输入/输出接口与输入/输出变量分别进行等价替换,由源代码数据耦合分析结果直接生成,不必单独开展;如果评审结果不符合,则修改低层需求或源代码,使源代码函数与低层需求输入、输出接口保持一致。

20、根据本专利技术的基于低层需求的源代码数据耦合正确性分析方法的一实施例,方法还包括一条低层需求对应多个函数模块的处理子流程,该子流程包括:

21、基于低层需求对外接口与一组函数模块接口的并集的一一对应的关系,依据源代码函数与低层需求的追溯关系,建立低层需求与函数模块之间的1:t映射表,其中一组函数模块接口中包含t个数目;

22、将t个函数模板作为一组,生成t个函数外部接口的并集;

23、评审低层需求外部接口与t个函数外部接口的并集之间的一致性,如是则表示源代码数据耦合关系符合低层需求;否则表示不符合,需修改低层需求或源代码,以使低层需求外部接口与t个本文档来自技高网...

【技术保护点】

1.一种基于低层需求的源代码数据耦合正确性分析方法,其特征在于,方法包括多条低层需求对应一个函数模块的处理子流程,该子流程包括:

2.根据权利要求1所述的基于低层需求的源代码数据耦合正确性分析方法,其特征在于,方法还包括一条低层需求对应一个函数模块的处理子流程,该子流程包括:

3.根据权利要求1所述的低层需求的源代码数据耦合正确性分析方法,其特征在于,方法还包括一条低层需求对应多个函数模块的处理子流程,该子流程包括:

4.一种低层需求的源代码数据耦合正确性分析系统,其特征在于,系统包括多条低层需求对应一个函数模块的处理子系统,该子系统包括:

5.根据权利要求4所述的基于低层需求的源代码数据耦合正确性分析系统,其特征在于,系统包括一条低层需求对应一个函数模块的处理子系统,该子系统包括:

6.根据权利要求4所述的低层需求的源代码数据耦合正确性分析系统,其特征在于,系统包括一条低层需求对应多个函数模块的处理子系统,该子系统包括:

【技术特征摘要】

1.一种基于低层需求的源代码数据耦合正确性分析方法,其特征在于,方法包括多条低层需求对应一个函数模块的处理子流程,该子流程包括:

2.根据权利要求1所述的基于低层需求的源代码数据耦合正确性分析方法,其特征在于,方法还包括一条低层需求对应一个函数模块的处理子流程,该子流程包括:

3.根据权利要求1所述的低层需求的源代码数据耦合正确性分析方法,其特征在于,方法还包括一条低层需求对应多个函数模块的处理子流程,该子流程包括:

【专利技术属性】
技术研发人员:王影赵岩李舒怡张园园
申请(专利权)人:中国航发商用航空发动机有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1