CN117453519A - 基于低层需求的源代码数据耦合正确性分析方法和系统 - Google Patents
基于低层需求的源代码数据耦合正确性分析方法和系统 Download PDFInfo
- Publication number
- CN117453519A CN117453519A CN202210851803.2A CN202210851803A CN117453519A CN 117453519 A CN117453519 A CN 117453519A CN 202210851803 A CN202210851803 A CN 202210851803A CN 117453519 A CN117453519 A CN 117453519A
- Authority
- CN
- China
- Prior art keywords
- low
- level
- function
- source code
- input
- 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
Links
- 230000008878 coupling Effects 0.000 title claims abstract description 154
- 238000010168 coupling process Methods 0.000 title claims abstract description 154
- 238000005859 coupling reaction Methods 0.000 title claims abstract description 154
- 238000004458 analytical method Methods 0.000 title claims abstract description 83
- 230000006870 function Effects 0.000 claims abstract description 310
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000007547 defect Effects 0.000 claims abstract description 23
- 238000013507 mapping Methods 0.000 claims description 52
- 238000012545 processing Methods 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 23
- 238000012552 review Methods 0.000 claims description 13
- 230000005856 abnormality Effects 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 claims description 3
- 239000013589 supplement Substances 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 2
- 238000012360 testing method Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000013514 software validation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了基于低层需求的源代码数据耦合正确性分析方法和系统,评估低层需求条目之间数据耦合关系的一致性,基于低层需求评估源代码数据耦合的正确性。其技术方案为:利用源代码数据耦合分析的结果,基于源代码与低层需求之间的追溯关系,快速、逆向生成基于低层需求的数据耦合关系,既可以作为低层需求条目之间数据耦合关系正确性的判据,反过来作为源代码数据耦合关系是否符合低层需求的判断基准,为评估源代码与高层需求之间数据耦合关系的正确性架起了桥梁。同时,可以发现软件实现所遗漏的低层需求功能、及额外引入的多余代码等软件缺陷。
Description
技术领域
本发明涉及软件测试与验证领域,具体一种基于低层需求的源代码数据耦合正确性分析方法和系统。
背景技术
DO-178B/C《机载系统和设备合格审定中的软件考虑》在其附表A-7中定义了“完成软件结构的测试覆盖(数据耦合与控制耦合)”的适航验证目标,通常用于度量在基于需求的软(硬)件集成测试过程中,数据耦合关系被覆盖的程度。在执行测试之前,需要先识别源代码中不同函数模块之间的数据耦合关系。
由于软(硬)件集成测试属于软件工程后期的活动,发现缺陷之后的修复代价较大。因此,如果能够在软件工程早期,通过评审、分析等方式,提前发现源代码中不同函数模块之间的数据耦合关系的正确性,将会大大减少修复缺陷的代价。
在所有软件生命周期数据中,低层需求与源代码之间是直接追溯的关系。要判断源代码不同模块之间数据耦合关系的正确性,首先需要确认其是否符合低层需求。
为实现上述的软件结构的测试覆盖(数据耦合与控制耦合),开发了从软件开发生命周期数据两端(高层需求、源代码)向中间(低层需求、软件架构)双向逼近、正向/逆向结合的软件数据耦合分析方案。为了在机载软件验证实践中全面落实该方案,需要将其中的各个数据耦合分析子流程进一步分解和细化。而其中,如何基于低层需求判断源代码不同模块之间的数据耦合关系正确性,是目前业界需要解决的问题。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。
本发明的目的在于解决上述问题,提供了一种基于低层需求的源代码数据耦合正确性分析方法和系统,一方面可以评估低层需求条目之间数据耦合关系的一致性,另一方面可以基于低层需求评估源代码数据耦合的正确性。
本发明的技术方案为:本发明揭示了一种基于低层需求的源代码数据耦合正确性分析方法,方法包括多条低层需求对应一个函数模块的处理子流程,该子流程包括:
步骤1:根据一组低层需求对外接口的并集与函数模块接口的一一对应的关系,将函数模块进一步细分为语句块,对语句块进行唯一性编号、标识,其中一组低层需求中包含s个数目;
步骤2:将低层需求与函数模块的s:1映射关系,转换为低层需求与函数模块语句块的1:1映射关系;
步骤3:依据低层需求和源代码函数及语句块的划分,检查低层需求与函数模块语句块的1:1映射关系表中是否覆盖了所有低层需求条目和所有语句块,如未完全覆盖低层需求,则表示软件实现功能不完整;如未完全覆盖所有语句块,则表示软件实现中可能引入了多余代码导致产生非预期的功能,对应提交软件缺陷处理流程;
步骤4:利用源代码函数与低层需求的追溯关系,建立源代码函数与一组低层需求的对照表;
步骤5:依据低层需求文档,提取每条文本化或表格的形式描述的低层需求输入、输出接口,形成低层需求输入、输出信息表;
步骤6:从低层需求输入、输出信息表中提取低层需求输出信息/数据,生成低层需求数据定义表;提取低层需求输入信息/数据,生成低层需求数据使用表;
步骤7:基于低层需求数据定义表、低层需求数据使用表,将每一个低层需求数据的所有定义与所有使用交叉配对,形成多组可能的低层需求数据定义-使用对表,再从中自动删除定义与使用局限在一个低层需求的定义-使用对,形成低层需求间数据定义-使用对表;
步骤8:根据低层需求数据定义-使用对表,扩展低层需求输入、输出信息表,补充输入来源与输出去向,完成关联低层需求条目之间的数据耦合关系分析,形成低层需求数据耦合关系表,其中,输入接口对应定义-使用对中的使用,输入来源对应定义-使用对中的定义,输出接口对应定义-使用对中的定义,输出去向对应定义-使用对中的使用;
步骤9:检查低层需求数据耦合关系表中输入来源与输出去向是否存在空数据,如是,则表示存在数据耦合异常,需修改低层需求,重新开始分析;如否,则继续后续步骤的分析;
步骤10:按照源代码函数同名的原则,依据软件低层需求函数组成信息表,将低层需求分组,从低层需求数据定义-使用表中自动删除定义与使用局限在一组低层需求的定义-使用对,形成与源代码有效变量定义-使用对表对应的有效低层需求数据定义-使用对表;
步骤11:以函数中的低层需求条目分组为对象,将有效低层需求数据定义-使用对表转化为函数低层需求条目分组定义表和函数低层需求条目分组使用表,同时从中删除重复数据,并将相同函数集中排列到相邻的连续行;
步骤12:将函数低层需求条目分组定义表和函数低层需求条目分组使用表合并为函数低层需求条目分组函数输入、输出接口表;
步骤13:按照函数名称相同的原则,评审函数低层需求条目分组输入、输出接口表中的数据名称与源代码数据耦合分析过程中产生的函数输入、输出变量表中的变量名称是否一一对应,如是,则判定源代码数据耦合关系符合低层需求;否则,提交缺陷单,待缺陷修复后启动回归评审。
根据本发明的基于低层需求的源代码数据耦合正确性分析方法的一实施例,方法还包括一条低层需求对应一个函数模块的处理子流程,该子流程包括:
基于低层需求对外接口与函数模块接口的一一对应的关系,根据源代码数据耦合分析过程中产生的函数输入、输出变量表,利用源代码函数与低层需求的追溯关系,结合低层需求文档定义的低层需求输入、输出接口,直接生成低层需求输入、输出接口与函数输入、输出变量之间的一一对应关系;
评审源代码函数与低层需求输入、输出接口是否一致,如果评审结果一致,则表示源代码数据耦合分析过程中产生的输出适用于低层需求,基于低层需求直接判断源代码数据耦合关系是否正确,基于低层需求的数据耦合分析结果将低层需求条目与函数名称、输入/输出接口与输入/输出变量分别进行等价替换,由源代码数据耦合分析结果直接生成,不必单独开展;如果评审结果不符合,则修改低层需求或源代码,使源代码函数与低层需求输入、输出接口保持一致。
根据本发明的基于低层需求的源代码数据耦合正确性分析方法的一实施例,方法还包括一条低层需求对应多个函数模块的处理子流程,该子流程包括:
基于低层需求对外接口与一组函数模块接口的并集的一一对应的关系,依据源代码函数与低层需求的追溯关系,建立低层需求与函数模块之间的1:t映射表,其中一组函数模块接口中包含t个数目;
将t个函数模板作为一组,生成t个函数外部接口的并集;
评审低层需求外部接口与t个函数外部接口的并集之间的一致性,如是则表示源代码数据耦合关系符合低层需求;否则表示不符合,需修改低层需求或源代码,以使低层需求外部接口与t个函数外部接口的并集保持一致。
本发明还揭示了一种低层需求的源代码数据耦合正确性分析系统,系统包括多条低层需求对应一个函数模块的处理子系统,该子系统包括:
语句块划分模块,配置为根据一组低层需求对外接口的并集与函数模块接口的一一对应的关系,将函数模块进一步细分为语句块,对语句块进行唯一性编号、标识,其中一组低层需求中包含s个数目;
映射关系转换模块,配置为将低层需求与函数模块的s:1映射关系,转换为低层需求与函数模块语句块的1:1映射关系;
覆盖检查模块,配置为依据低层需求和源代码函数及语句块的划分,检查低层需求与函数模块语句块的1:1映射关系表中是否覆盖了所有低层需求条目和所有语句块,如未完全覆盖低层需求,则表示软件实现功能不完整;如未完全覆盖所有语句块,则表示软件实现中可能引入了多余代码导致产生非预期的功能,对应提交软件缺陷处理流程;
对照表建立模块,配置为利用源代码函数与低层需求的追溯关系,建立源代码函数与一组低层需求的对照表;
低层需求输入、输出信息表建立模块,配置为依据低层需求文档,提取每条文本化或表格等形式描述的低层需求输入、输出接口,形成低层需求输入、输出信息表;
低层需求数据使用表建立模块,配置为从低层需求输入、输出信息表中提取低层需求输出信息/数据,生成低层需求数据定义表;提取低层需求输入信息/数据,生成低层需求数据使用表;
低层需求间数据定义-使用对表建立模块,配置为基于低层需求数据定义表、低层需求数据使用表,将每一个低层需求数据的所有定义与所有使用交叉配对,形成多组可能的低层需求数据定义-使用对表,再从中自动删除定义与使用局限在一个低层需求的定义-使用对,形成低层需求间数据定义-使用对表;
低层需求数据耦合关系表建立模块,配置为根据低层需求数据定义-使用对表,扩展低层需求输入、输出信息表,补充输入来源与输出去向,完成关联低层需求条目之间的数据耦合关系分析,形成低层需求数据耦合关系表,其中,输入接口对应定义-使用对中的使用,输入来源对应定义-使用对中的定义,输出接口对应定义-使用对中的定义,输出去向对应定义-使用对中的使用;
空数据检查模块,配置为检查低层需求数据耦合关系表中输入来源与输出去向是否存在空数据,如是,则表示存在数据耦合异常,需修改低层需求,重新开始分析;如否,则继续后续步骤的分析;
有效低层需求数据定义-使用对表建立模块,配置为按照源代码函数同名的原则,依据软件低层需求函数组成信息表,将低层需求分组,从低层需求数据定义-使用表中自动删除定义与使用局限在一组低层需求的定义-使用对,形成与源代码有效变量定义-使用对表对应的有效低层需求数据定义-使用对表;
低层需求条目分组模块,配置为以函数中的低层需求条目分组为对象,将有效低层需求数据定义-使用对表转化为函数低层需求条目分组定义表和函数低层需求条目分组使用表,同时从中删除重复数据,并将相同函数集中排列到相邻的连续行;
函数低层需求条目分组函数输入、输出接口表建立模块,配置为将函数低层需求条目分组定义表和函数低层需求条目分组使用表合并为函数低层需求条目分组函数输入、输出接口表;
源代码数据耦合关系与低层需求的符合性检查模块,配置为按照函数名称相同的原则,评审函数低层需求条目分组输入、输出接口表中的数据名称与源代码数据耦合分析过程中产生的函数输入、输出变量表中的变量名称是否一一对应,如是,则判定源代码数据耦合关系符合低层需求;否则,提交缺陷单,待缺陷修复后启动回归评审。
根据本发明的基于低层需求的源代码数据耦合正确性分析系统的一实施例,系统包括一条低层需求对应一个函数模块的处理子系统,该子系统包括:
低层需求接口和函数变量对应关系处理模块,配置为基于低层需求对外接口与函数模块接口的一一对应的关系,根据源代码数据耦合分析过程中产生的函数输入、输出变量表,利用源代码函数与低层需求的追溯关系,结合低层需求文档定义的低层需求输入、输出接口,直接生成低层需求输入、输出接口与函数输入、输出变量之间的一一对应关系;
源代码函数与低层需求接口模块,配置为评审源代码函数与低层需求输入、输出接口是否一致,如果评审结果一致,则表示源代码数据耦合分析过程中产生的输出适用于低层需求,基于低层需求直接判断源代码数据耦合关系是否正确,基于低层需求的数据耦合分析结果将低层需求条目与函数名称、输入/输出接口与输入/输出变量分别进行等价替换,由源代码数据耦合分析结果直接生成,不必单独开展;如果评审结果不符合,则修改低层需求或源代码,使源代码函数与低层需求输入、输出接口保持一致。
根据本发明的低层需求的源代码数据耦合正确性分析系统的一实施例,系统包括一条低层需求对应多个函数模块的处理子系统,该子系统包括:
低层需求与函数模块映射处理模块,配置为基于低层需求对外接口与一组函数模块接口的并集的一一对应的关系,依据源代码函数与低层需求的追溯关系,建立低层需求与函数模块之间的1:t映射表,其中一组函数模块接口中包含t个数目;
并集生成模块,配置为将t个函数模板作为一组,生成t个函数外部接口的并集;
低层需求与函数接口并集的处理模块,配置为评审低层需求外部接口与t个函数外部接口的并集之间的一致性,如是则表示源代码数据耦合关系符合低层需求;否则表示不符合,需修改低层需求或源代码,以使低层需求外部接口与t个函数外部接口的并集保持一致。
本发明对比现有技术有如下的有益效果:源代码模块之间数据耦合关系的正确性包含两部分内容:1)不同的源代码模块之间数据耦合关系一致、无冲突;2)源代码模块之间的数据耦合关系与生成源代码的需求和设计文档一致、无冲突。
单纯针对源代码本身开展数据耦合分析,可以解决源代码模块之间数据耦合关系正确性判断的上述第1)个问题;却无法解决源代码与软件生命周期上游数据之间符合性的问题,无法完全给出正确性与否的结论。
作为软件生命周期过程中与源代码具有直接追溯关系和上下级关系的低层需求,在源代码数据耦合关系正确性判断中处于承上启下的位置。只有先解决源代码与低层需求之间数据耦合关系一致性判断的问题,才能在此基础上,依据高层需求与低层需求之间的直接追溯关系和上下级关系,评估源代码与高层需求之间数据耦合关系的一致性。
本发明是为解决依据低层需求判断源代码数据耦合关系正确性的问题而研发的,能够在单一层级源代码模块间数据耦合分析结果的基础上,跨越两个相邻的软件生命周期过程,评估源代码和低层需求之间数据耦合关系的一致性、以及不同低层需求条目之间数据耦合关系的一致性。
本发明的方案中包括以下的创新点:
(1)根据低层需求与源代码函数模块的1:1、1:t、s:1、s:t(s>1、t>1)关系,分类解决基于低层需求的源代码数据耦合正确性判断问题(除s:t类之外)。
(2)简化了低层需求与源代码函数模块的1:1关系类型的源代码数据耦合正确性分析,直接根据源代码数据耦合分析过程中产生的函数输入、输出变量表,评审源代码函数与低层需求输入、输出接口的一致性。同时,基于低层需求的数据耦合分析不必基于文本化的低层需求从零开展,而是可以将源代码数据耦合分析过程中产生的输出直接逆向转化为低层需求数据耦合分析的输出,大大提高了工作效率。
(3)简化了低层需求与源代码函数模块的1:t关系类型的源代码数据耦合正确性分析,通过将源代码函数分组,与某条低层需求建立对应关系,通过同组源代码函数的外部接口的并集,计算得到对应低层需求外部接口,通过判断其与低层需求定义的接口的一致性,确认基于低层需求的源代码数据耦合正确性。该方法充分利用了源代码数据耦合分析的结果,将低层需求数据耦合分析、基于低层需求的源代码数据耦合正确性分析这两项验证活动的工作量大大减少,节省了验证成本。
(4)提出了低层需求与源代码函数模块的s:1关系类型的源代码数据耦合正确性分析流程,在对函数模块进一步细分为语句块并进行唯一性编号标识的基础上,将低层需求与源代码函数模块的s:1映射关系,转换为函数模块语句块与低层需求的1:1映射关系,从而发现软件实现所遗漏的低层需求功能、及额外引入的多余代码等软件缺陷。
总的来说,使用本发明的基于低层需求的源代码数据耦合正确性分析流程,可以充分利用源代码数据耦合分析的结果,基于源代码与低层需求之间的追溯关系,快速、逆向生成基于低层需求的数据耦合关系,既可以作为低层需求条目之间数据耦合关系正确性的判据,反过来作为源代码数据耦合关系是否符合低层需求的判断基准,为评估源代码与高层需求之间数据耦合关系的正确性架起了桥梁。同时,可以发现软件实现所遗漏的低层需求功能、及额外引入的多余代码等软件缺陷。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1示出了本发明的基于低层需求的源代码数据耦合正确性分析方法的一实施例的流程图。
图2示出了本发明的基于低层需求的源代码数据耦合正确性分析系统的一实施例的原理图。
具体实施方式
以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。
根据DO-178C的定义,低层需求是指从高层需求、派生需求、设计约束开发出来的软件需求,无需进一步信息,即可通过低层需求直接编制软件源代码。根据该定义,软件低层需求与源代码之间存在直接映射关系,这种映射关系通常以源代码到低层需求的双向追溯关系进行表达。在软件工程实现中,源代码往往是以函数形式进行组织的。因此低层需求与源代码之间的映射关系往往以函数模块作为媒介。要基于低层需求开展源代码数据耦合正确性分析,首先应建立低层需求与函数模块之间的映射关系,二者之间可能形成的映射关系如下表(表1)所示:
表1低层需求与函数模块的映射关系表
基于低层需求开展源代码数据耦合正确性分析的前提条件,是低层需求与函数模块之间的映射关系在工程上可行,即满足1:1、1:t或s:1的映射关系;否则,应暂停分析。
要开展基于低层需求的源代码数据耦合正确性分析,首先应分析低层需求与函数之间的映射关系,如果低层需求与函数模块之间满足1:1、1:t或s:1的映射关系,则可根据映射关系的分类,分别采用的不同分析策略。对于一个完整软件来说,可能部分低层需求与函数之间是1:1的映射关系,另一部分低层需求与函数之间是1:t、s:1或s:t的映射关系,则可以按照映射关系类型进行分组,不同组别适用相应的分析或暂停分析准则。
下面针对低层需求与函数模块之间1:1、1:t或s:1的3种工程上可行的映射关系,分别说明基于低层需求开展源代码数据耦合正确性分析的方法。
第一种情况:一条低层需求对应一个函数模块(1:1映射)
步骤11:基于低层需求对外接口(即“低层需求输入、输出接口”)与函数模块接口的一一对应的关系,根据源代码数据耦合分析过程中产生的函数输入、输出变量表2-1,利用源代码函数与低层需求的追溯关系,结合低层需求文档定义的低层需求输入(使用)、输出(定义)接口,直接生成低层需求输入、输出接口与函数输入、输出变量(局部变量除外)之间的一一对应关系表3-0。
表2函数输入、输出变量表2-1
表3低层需求输入、输出接口与函数输入、输出变量之间的对应关系表3-0
步骤12:评审源代码函数与低层需求输入、输出接口是否一致。如果评审结果一致,则表示源代码数据耦合分析过程中产生的输出适用于低层需求,基于低层需求直接判断源代码数据耦合关系是否正确,基于低层需求的数据耦合分析结果(包括低层需求输入、输出信息表3-1、低层需求数据“定义”表3-2、低层需求数据“使用”表3-3)将低层需求条目与函数名称、输入/输出接口与输入/输出变量分别进行等价替换,由源代码数据耦合分析结果直接生成,不必单独开展。
评审结果不符合,则修改低层需求或源代码,使源代码函数与低层需求输入、输出接口保持一致。
低层需求输入、输出信息表3-1
低层需求数据“定义”表3-2
低层需求数据“使用”表3-3
第二种情况:一条低层需求对应多个函数模块(1:t映射)
步骤21:基于低层需求对外接口与一组(t个)函数模块接口的并集的一一对应的关系,依据源代码函数与低层需求的追溯关系,建立低层需求与函数模块之间的1:t映射表3-0-0。
表4低层需求输入、输出接口与函数输入、输出变量之间的对应关系表3-0-0
步骤22:将t个函数模板作为一组,生成t个函数外部接口的并集。
步骤23:评审低层需求外部接口与t个函数外部接口的并集之间的一致性。如是则源代码数据耦合关系符合低层需求;否则不符合,需修改低层需求或源代码,以使低层需求外部接口与t个函数外部接口的并集保持一致。
第三种情况:多条低层需求对应一个函数模块(s:1映射),此情况的处理流程如图1所示。
步骤311:根据一组(s个)低层需求对外接口的并集与函数模块接口的一一对应的关系,将函数模块进一步细分为语句块,对语句块进行唯一性编号、标识(SUID1)。
步骤312:将低层需求与函数模块的s:1映射关系,转换为低层需求与函数模块语句块的1:1映射关系(表5)。为了简化分析,对于函数模块语句块,不进一步细化拆分与函数语句块对应的输入、输出接口。因此,低层需求与函数模块语句块的1:1映射关系不包含输入、输出接口。
表5低层需求与函数模块语句块的1:1映射关系表
步骤313:依据低层需求和源代码函数及语句块的划分,检查“低层需求与函数模块语句块的1:1映射关系表”(表5)中是否覆盖了所有低层需求条目和所有语句块。如未完全覆盖低层需求,则表示软件实现功能不完整;如未完全覆盖所有语句块,则表示软件实现中可能由于引入了多余代码导致产生非预期的功能,需提交软件缺陷处理流程。
步骤314:利用源代码函数与低层需求的追溯关系,建立源代码函数与一组(s个)低层需求的对照表,即低层需求输入、输出接口与函数输入、输出变量之间的对应关系表3-0-1,可以进一步简化为软件低层需求函数组成信息表3-0-2。
表6低层需求输入、输出接口与函数输入、输出变量之间的对应关系表3-0-1
表7软件低层需求函数组成信息表3-0-2
步骤315:依据低层需求文档,提取每条文本化或表格等形式描述的低层需求输入(使用)、输出(定义)接口,形成低层需求输入、输出信息表3-1。
表8低层需求输入、输出信息表3-1
步骤316:从低层需求输入、输出信息表3-1中提取低层需求输出信息/数据,生成低层需求数据“定义”表3-2;提取低层需求输入信息/数据,生成低层需求数据“使用”表3-3。
表9低层需求数据“定义”表3-2
表10低层需求数据“使用”表3-3
步骤317:基于低层需求数据“定义”表3-2、低层需求数据“使用”表3-3,将每一个低层需求数据的所有定义(如m处)与所有使用(如n处)交叉配对,形成(m*n组)可能的低层需求数据“定义-使用”对表3-4-0;从中自动删除定义与使用局限在一个低层需求(内部)的“定义-使用”对,形成低层需求间数据“定义-使用”对表3-4-1。
表11低层需求数据“定义-使用”表3-4-0/低层需求间数据“定义-使用”对表3-4-1
步骤318:根据低层需求数据“定义-使用”对表3-4-0,扩展低层需求输入、输出信息表3-1,补充“输入来源”(输入接口对应“定义-使用”对中的“使用”,“输入来源”对应“定义-使用”对中的“定义”)与“输出去向”(输出接口对应“定义-使用”对中的“定义”,“输出去向”对应“定义-使用”对中的“使用”),完成关联低层需求条目之间的数据耦合关系分析,形成低层需求数据耦合关系表3-5。
表12低层需求数据耦合关系表3-5
步骤319:检查低层需求数据耦合关系表3-5中“输入来源”与“输出去向”是否存在空数据。如是,则存在则表示数据耦合异常,需修改低层需求,重新开始分析;如否,则继续下列分析。
步骤320:按照源代码函数同名的原则,依据软件低层需求函数组成信息表3-0-0,将低层需求分组,从低层需求数据“定义-使用”表3-4-0中自动删除定义与使用局限在一组低层需求(内部)的“定义-使用”对,形成与源代码有效变量“定义-使用”对表相对应的有效低层需求数据“定义-使用”对表3-4。
表13有效低层需求数据“定义-使用”对表3-4
步骤321:以函数【低层需求条目(UID)分组】为对象,将有效低层需求数据“定义-使用”对表3-4转化为“函数【低层需求条目(UID)分组】定义表”(表14)和“函数【低层需求条目(UID)分组】使用表”(表15),同时从中删除重复数据,并将相同函数集中排列到相邻的连续行。
表14函数【低层需求条目(UID)分组】定义表
表15函数【低层需求条目(UID)分组】使用表
步骤322:将“函数【低层需求条目(UID)分组】定义表”(表14)和“函数【低层需求条目(UID)分组】使用表”(表15)合并为“函数【低层需求条目(UID)分组】函数输入、输出接口表”(每个函数占用的行数取输入与输出接口数量的最大者)(表16)。
表16函数【低层需求条目(UID)分组】输入、输出接口表
步骤323:按照函数名称相同的原则,评审“函数【低层需求条目(UID)分组】输入、输出接口表”(表16)中的数据名称与源代码数据耦合分析过程中产生的“函数输入、输出变量表2-1”中的变量名称(全局变量、参数)是否一一对应。如是,则判定源代码数据耦合关系符合低层需求;否则,提交缺陷单,待缺陷修复后启动回归评审。
图2示出了本发明的基于低层需求的源代码数据耦合正确性分析系统的一实施例的原理。请参见图2,本实施例的系统包括三个子系统,分别是一条低层需求对应一个函数模块的处理子系统、一条低层需求对应多个函数模块的处理子系统、多条低层需求对应一个函数模块的处理子系统。
一条低层需求对应一个函数模块的处理子系统中,包括:低层需求接口和函数变量对应关系处理模块、源代码函数与低层需求接口模块。
低层需求接口和函数变量对应关系处理模块,配置为基于低层需求对外接口与函数模块接口的一一对应的关系,根据源代码数据耦合分析过程中产生的函数输入、输出变量表,利用源代码函数与低层需求的追溯关系,结合低层需求文档定义的低层需求输入、输出接口,直接生成低层需求输入、输出接口与函数输入、输出变量之间的一一对应关系。
源代码函数与低层需求接口模块,配置为评审源代码函数与低层需求输入、输出接口是否一致,如果评审结果一致,则表示源代码数据耦合分析过程中产生的输出适用于低层需求,基于低层需求直接判断源代码数据耦合关系是否正确,基于低层需求的数据耦合分析结果将低层需求条目与函数名称、输入/输出接口与输入/输出变量分别进行等价替换,由源代码数据耦合分析结果直接生成,不必单独开展;如果评审结果不符合,则修改低层需求或源代码,使源代码函数与低层需求输入、输出接口保持一致。
一条低层需求对应多个函数模块的处理子系统中,包括:低层需求与函数模块映射处理模块、并集生成模块、低层需求与函数接口并集的处理模块。
低层需求与函数模块映射处理模块,配置为基于低层需求对外接口与一组函数模块接口的并集的一一对应的关系,依据源代码函数与低层需求的追溯关系,建立低层需求与函数模块之间的1:t映射表,其中一组函数模块接口中包含t个数目。
并集生成模块,配置为将t个函数模板作为一组,生成t个函数外部接口的并集。
低层需求与函数接口并集的处理模块,配置为评审低层需求外部接口与t个函数外部接口的并集之间的一致性,如是则表示源代码数据耦合关系符合低层需求;否则表示不符合,需修改低层需求或源代码,以使低层需求外部接口与t个函数外部接口的并集保持一致。
多条低层需求对应一个函数模块的处理子系统中,包括:语句块划分模块,映射关系转换模块,覆盖检查模块,对照表建立模块,低层需求输入、输出信息表建立模块,低层需求数据使用表建立模块,低层需求间数据定义-使用对表建立模块,低层需求数据耦合关系表建立模块,空数据检查模块,有效低层需求数据定义-使用对表建立模块,低层需求条目分组模块,函数低层需求条目分组函数输入、输出接口表建立模块,源代码数据耦合关系与低层需求的符合性检查模块。
语句块划分模块,配置为根据一组低层需求对外接口的并集与函数模块接口的一一对应的关系,将函数模块进一步细分为语句块,对语句块进行唯一性编号、标识,其中一组低层需求中包含s个数目。
映射关系转换模块,配置为将低层需求与函数模块的s:1映射关系,转换为低层需求与函数模块语句块的1:1映射关系。
覆盖检查模块,配置为依据低层需求和源代码函数及语句块的划分,检查低层需求与函数模块语句块的1:1映射关系表中是否覆盖了所有低层需求条目和所有语句块,如未完全覆盖低层需求,则表示软件实现功能不完整;如未完全覆盖所有语句块,则表示软件实现中可能引入了多余代码导致产生非预期的功能,对应提交软件缺陷处理流程。
对照表建立模块,配置为利用源代码函数与低层需求的追溯关系,建立源代码函数与一组低层需求的对照表。
低层需求输入、输出信息表建立模块,配置为依据低层需求文档,提取每条文本化或表格等形式描述的低层需求输入、输出接口,形成低层需求输入、输出信息表。
低层需求数据使用表建立模块,配置为从低层需求输入、输出信息表中提取低层需求输出信息/数据,生成低层需求数据定义表;提取低层需求输入信息/数据,生成低层需求数据使用表。
低层需求间数据定义-使用对表建立模块,配置为基于低层需求数据定义表、低层需求数据使用表,将每一个低层需求数据的所有定义与所有使用交叉配对,形成多组可能的低层需求数据定义-使用对表,再从中自动删除定义与使用局限在一个低层需求的定义-使用对,形成低层需求间数据定义-使用对表。
低层需求数据耦合关系表建立模块,配置为根据低层需求数据定义-使用对表,扩展低层需求输入、输出信息表,补充输入来源与输出去向,完成关联低层需求条目之间的数据耦合关系分析,形成低层需求数据耦合关系表,其中,输入接口对应定义-使用对中的使用,输入来源对应定义-使用对中的定义,输出接口对应定义-使用对中的定义,输出去向对应定义-使用对中的使用。
空数据检查模块,配置为检查低层需求数据耦合关系表中输入来源与输出去向是否存在空数据,如是,则表示存在数据耦合异常,需修改低层需求,重新开始分析;如否,则继续后续步骤的分析。
有效低层需求数据定义-使用对表建立模块,配置为按照源代码函数同名的原则,依据软件低层需求函数组成信息表,将低层需求分组,从低层需求数据定义-使用表中自动删除定义与使用局限在一组低层需求的定义-使用对,形成与源代码有效变量定义-使用对表对应的有效低层需求数据定义-使用对表;
低层需求条目分组模块,配置为以函数中的低层需求条目分组为对象,将有效低层需求数据定义-使用对表转化为函数低层需求条目分组定义表和函数低层需求条目分组使用表,同时从中删除重复数据,并将相同函数集中排列到相邻的连续行;
函数低层需求条目分组函数输入、输出接口表建立模块,配置为将函数低层需求条目分组定义表和函数低层需求条目分组使用表合并为函数低层需求条目分组函数输入、输出接口表;
源代码数据耦合关系与低层需求的符合性检查模块,配置为按照函数名称相同的原则,评审函数低层需求条目分组输入、输出接口表中的数据名称与源代码数据耦合分析过程中产生的函数输入、输出变量表中的变量名称是否一一对应,如是,则判定源代码数据耦合关系符合低层需求;否则,提交缺陷单,待缺陷修复后启动回归评审。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。
Claims (6)
1.一种基于低层需求的源代码数据耦合正确性分析方法,其特征在于,方法包括多条低层需求对应一个函数模块的处理子流程,该子流程包括:
步骤1:根据一组低层需求对外接口的并集与函数模块接口的一一对应的关系,将函数模块进一步细分为语句块,对语句块进行唯一性编号、标识,其中一组低层需求中包含s个数目;
步骤2:将低层需求与函数模块的s:1映射关系,转换为低层需求与函数模块语句块的1:1映射关系;
步骤3:依据低层需求和源代码函数及语句块的划分,检查低层需求与函数模块语句块的1:1映射关系表中是否覆盖了所有低层需求条目和所有语句块,如未完全覆盖低层需求,则表示软件实现功能不完整;如未完全覆盖所有语句块,则表示软件实现中可能引入了多余代码导致产生非预期的功能,对应提交软件缺陷处理流程;
步骤4:利用源代码函数与低层需求的追溯关系,建立源代码函数与一组低层需求的对照表;
步骤5:依据低层需求文档,提取每条文本化或表格的形式描述的低层需求输入、输出接口,形成低层需求输入、输出信息表;
步骤6:从低层需求输入、输出信息表中提取低层需求输出信息/数据,生成低层需求数据定义表;提取低层需求输入信息/数据,生成低层需求数据使用表;
步骤7:基于低层需求数据定义表、低层需求数据使用表,将每一个低层需求数据的所有定义与所有使用交叉配对,形成多组可能的低层需求数据定义-使用对表,再从中自动删除定义与使用局限在一个低层需求的定义-使用对,形成低层需求间数据定义-使用对表;
步骤8:根据低层需求数据定义-使用对表,扩展低层需求输入、输出信息表,补充输入来源与输出去向,完成关联低层需求条目之间的数据耦合关系分析,形成低层需求数据耦合关系表,其中,输入接口对应定义-使用对中的使用,输入来源对应定义-使用对中的定义,输出接口对应定义-使用对中的定义,输出去向对应定义-使用对中的使用;
步骤9:检查低层需求数据耦合关系表中输入来源与输出去向是否存在空数据,如是,则表示存在数据耦合异常,需修改低层需求,重新开始分析;如否,则继续后续步骤的分析;
步骤10:按照源代码函数同名的原则,依据软件低层需求函数组成信息表,将低层需求分组,从低层需求数据定义-使用表中自动删除定义与使用局限在一组低层需求的定义-使用对,形成与源代码有效变量定义-使用对表对应的有效低层需求数据定义-使用对表;
步骤11:以函数中的低层需求条目分组为对象,将有效低层需求数据定义-使用对表转化为函数低层需求条目分组定义表和函数低层需求条目分组使用表,同时从中删除重复数据,并将相同函数集中排列到相邻的连续行;
步骤12:将函数低层需求条目分组定义表和函数低层需求条目分组使用表合并为函数低层需求条目分组函数输入、输出接口表;
步骤13:按照函数名称相同的原则,评审函数低层需求条目分组输入、输出接口表中的数据名称与源代码数据耦合分析过程中产生的函数输入、输出变量表中的变量名称是否一一对应,如是,则判定源代码数据耦合关系符合低层需求;否则,提交缺陷单,待缺陷修复后启动回归评审。
2.根据权利要求1所述的基于低层需求的源代码数据耦合正确性分析方法,其特征在于,方法还包括一条低层需求对应一个函数模块的处理子流程,该子流程包括:
基于低层需求对外接口与函数模块接口的一一对应的关系,根据源代码数据耦合分析过程中产生的函数输入、输出变量表,利用源代码函数与低层需求的追溯关系,结合低层需求文档定义的低层需求输入、输出接口,直接生成低层需求输入、输出接口与函数输入、输出变量之间的一一对应关系;
评审源代码函数与低层需求输入、输出接口是否一致,如果评审结果一致,则表示源代码数据耦合分析过程中产生的输出适用于低层需求,基于低层需求直接判断源代码数据耦合关系是否正确,基于低层需求的数据耦合分析结果将低层需求条目与函数名称、输入/输出接口与输入/输出变量分别进行等价替换,由源代码数据耦合分析结果直接生成,不必单独开展;如果评审结果不符合,则修改低层需求或源代码,使源代码函数与低层需求输入、输出接口保持一致。
3.根据权利要求1所述的低层需求的源代码数据耦合正确性分析方法,其特征在于,方法还包括一条低层需求对应多个函数模块的处理子流程,该子流程包括:
基于低层需求对外接口与一组函数模块接口的并集的一一对应的关系,依据源代码函数与低层需求的追溯关系,建立低层需求与函数模块之间的1:t映射表,其中一组函数模块接口中包含t个数目;
将t个函数模板作为一组,生成t个函数外部接口的并集;
评审低层需求外部接口与t个函数外部接口的并集之间的一致性,如是则表示源代码数据耦合关系符合低层需求;否则表示不符合,需修改低层需求或源代码,以使低层需求外部接口与t个函数外部接口的并集保持一致。
4.一种低层需求的源代码数据耦合正确性分析系统,其特征在于,系统包括多条低层需求对应一个函数模块的处理子系统,该子系统包括:
语句块划分模块,配置为根据一组低层需求对外接口的并集与函数模块接口的一一对应的关系,将函数模块进一步细分为语句块,对语句块进行唯一性编号、标识,其中一组低层需求中包含s个数目;
映射关系转换模块,配置为将低层需求与函数模块的s:1映射关系,转换为低层需求与函数模块语句块的1:1映射关系;
覆盖检查模块,配置为依据低层需求和源代码函数及语句块的划分,检查低层需求与函数模块语句块的1:1映射关系表中是否覆盖了所有低层需求条目和所有语句块,如未完全覆盖低层需求,则表示软件实现功能不完整;如未完全覆盖所有语句块,则表示软件实现中可能引入了多余代码导致产生非预期的功能,对应提交软件缺陷处理流程;
对照表建立模块,配置为利用源代码函数与低层需求的追溯关系,建立源代码函数与一组低层需求的对照表;
低层需求输入、输出信息表建立模块,配置为依据低层需求文档,提取每条文本化或表格等形式描述的低层需求输入、输出接口,形成低层需求输入、输出信息表;
低层需求数据使用表建立模块,配置为从低层需求输入、输出信息表中提取低层需求输出信息/数据,生成低层需求数据定义表;提取低层需求输入信息/数据,生成低层需求数据使用表;
低层需求间数据定义-使用对表建立模块,配置为基于低层需求数据定义表、低层需求数据使用表,将每一个低层需求数据的所有定义与所有使用交叉配对,形成多组可能的低层需求数据定义-使用对表,再从中自动删除定义与使用局限在一个低层需求的定义-使用对,形成低层需求间数据定义-使用对表;
低层需求数据耦合关系表建立模块,配置为根据低层需求数据定义-使用对表,扩展低层需求输入、输出信息表,补充输入来源与输出去向,完成关联低层需求条目之间的数据耦合关系分析,形成低层需求数据耦合关系表,其中,输入接口对应定义-使用对中的使用,输入来源对应定义-使用对中的定义,输出接口对应定义-使用对中的定义,输出去向对应定义-使用对中的使用;
空数据检查模块,配置为检查低层需求数据耦合关系表中输入来源与输出去向是否存在空数据,如是,则表示存在数据耦合异常,需修改低层需求,重新开始分析;如否,则继续后续步骤的分析;
有效低层需求数据定义-使用对表建立模块,配置为按照源代码函数同名的原则,依据软件低层需求函数组成信息表,将低层需求分组,从低层需求数据定义-使用表中自动删除定义与使用局限在一组低层需求的定义-使用对,形成与源代码有效变量定义-使用对表对应的有效低层需求数据定义-使用对表;
低层需求条目分组模块,配置为以函数中的低层需求条目分组为对象,将有效低层需求数据定义-使用对表转化为函数低层需求条目分组定义表和函数低层需求条目分组使用表,同时从中删除重复数据,并将相同函数集中排列到相邻的连续行;
函数低层需求条目分组函数输入、输出接口表建立模块,配置为将函数低层需求条目分组定义表和函数低层需求条目分组使用表合并为函数低层需求条目分组函数输入、输出接口表;
源代码数据耦合关系与低层需求的符合性检查模块,配置为按照函数名称相同的原则,评审函数低层需求条目分组输入、输出接口表中的数据名称与源代码数据耦合分析过程中产生的函数输入、输出变量表中的变量名称是否一一对应,如是,则判定源代码数据耦合关系符合低层需求;否则,提交缺陷单,待缺陷修复后启动回归评审。
5.根据权利要求4所述的基于低层需求的源代码数据耦合正确性分析系统,其特征在于,系统包括一条低层需求对应一个函数模块的处理子系统,该子系统包括:
低层需求接口和函数变量对应关系处理模块,配置为基于低层需求对外接口与函数模块接口的一一对应的关系,根据源代码数据耦合分析过程中产生的函数输入、输出变量表,利用源代码函数与低层需求的追溯关系,结合低层需求文档定义的低层需求输入、输出接口,直接生成低层需求输入、输出接口与函数输入、输出变量之间的一一对应关系;
源代码函数与低层需求接口模块,配置为评审源代码函数与低层需求输入、输出接口是否一致,如果评审结果一致,则表示源代码数据耦合分析过程中产生的输出适用于低层需求,基于低层需求直接判断源代码数据耦合关系是否正确,基于低层需求的数据耦合分析结果将低层需求条目与函数名称、输入/输出接口与输入/输出变量分别进行等价替换,由源代码数据耦合分析结果直接生成,不必单独开展;如果评审结果不符合,则修改低层需求或源代码,使源代码函数与低层需求输入、输出接口保持一致。
6.根据权利要求4所述的低层需求的源代码数据耦合正确性分析系统,其特征在于,系统包括一条低层需求对应多个函数模块的处理子系统,该子系统包括:
低层需求与函数模块映射处理模块,配置为基于低层需求对外接口与一组函数模块接口的并集的一一对应的关系,依据源代码函数与低层需求的追溯关系,建立低层需求与函数模块之间的1:t映射表,其中一组函数模块接口中包含t个数目;
并集生成模块,配置为将t个函数模板作为一组,生成t个函数外部接口的并集;
低层需求与函数接口并集的处理模块,配置为评审低层需求外部接口与t个函数外部接口的并集之间的一致性,如是则表示源代码数据耦合关系符合低层需求;否则表示不符合,需修改低层需求或源代码,以使低层需求外部接口与t个函数外部接口的并集保持一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210851803.2A CN117453519A (zh) | 2022-07-19 | 2022-07-19 | 基于低层需求的源代码数据耦合正确性分析方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210851803.2A CN117453519A (zh) | 2022-07-19 | 2022-07-19 | 基于低层需求的源代码数据耦合正确性分析方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117453519A true CN117453519A (zh) | 2024-01-26 |
Family
ID=89580437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210851803.2A Pending CN117453519A (zh) | 2022-07-19 | 2022-07-19 | 基于低层需求的源代码数据耦合正确性分析方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117453519A (zh) |
-
2022
- 2022-07-19 CN CN202210851803.2A patent/CN117453519A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103678110B (zh) | 提供修改相关信息的方法和装置 | |
CN103473171A (zh) | 一种基于函数调用路径的覆盖率动态跟踪方法及装置 | |
CN112433944A (zh) | 业务测试方法、装置、计算机设备和存储介质 | |
CN110069414B (zh) | 回归测试方法及系统 | |
JPS63145549A (ja) | 論理回路シミユレ−シヨン方法 | |
CN105335246A (zh) | 一种基于问答网站分析的程序崩溃缺陷自动修复方法 | |
JPH04237341A (ja) | インタフェース検証処理方式 | |
CN103218297A (zh) | 测试数据的筛选方法及装置 | |
CN106126416A (zh) | 一种基于流程编排的服务组合路径推导方法 | |
CN112765014B (zh) | 一种用于多用户同时操作的自动测试系统及工作方法 | |
CN108829903B (zh) | 判定fpga冗余设计的代码与综合后电路一致性的方法和系统 | |
CN113220578A (zh) | 一种功能测试用例的生成方法 | |
CN117453519A (zh) | 基于低层需求的源代码数据耦合正确性分析方法和系统 | |
CN102004660A (zh) | 一种业务流程的实现方法及装置 | |
CN112567375A (zh) | 形式验证方法、信息识别方法、设备和存储介质 | |
JP2019121265A (ja) | 検証手順生成プログラム、検証手順生成方法、及び検証手順生成装置 | |
JP2013193539A (ja) | 列車運行管理システムの試験パターン作成方法及び装置 | |
CN109374038B (zh) | 一种基于应用样机的核安全级仪控产品的变更测试方法 | |
CN101145216A (zh) | 电子元件的检验维护系统以及方法 | |
CN118013948B (zh) | 一种融合多模态交互的文本处理方法与系统 | |
CN117453516A (zh) | 基于软件架构的源代码数据耦合正确性分析方法和装置 | |
CN111881661B (zh) | 基于电子表格的数据处理方法、装置、设备及存储介质 | |
CN111881128B (zh) | 大数据回归验证方法及大数据回归验证装置 | |
CN100483428C (zh) | 一种逻辑电路设计中的ram例化方法及装置 | |
CN117453518A (zh) | 基于高层需求的低层需求数据耦合正确性分析方法和装置 |
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 |