基于FOG数据的源代码导入及解析的方法和装置制造方法及图纸

技术编号:13864445 阅读:64 留言:0更新日期:2016-10-19 17:47
本发明专利技术提供一种基于FOG数据的源代码导入及解析的方法及装置,首先配置源代码解析的选项,导入源代码并将源代码转化为FOG数据,与软件需求等软件研制生命周期中产生的其它数据置于同一工具平台下统一维护,然后提取源代码中的数据元素,并以此为基础自动建立源代码与低层需求的追踪关系,以解决现有的源代码维护技术中存在的追踪粒度粗、需纯手动关联、源代码与软件需求的维护分离等缺点。实现了追踪粒度较细、支持自动关联、源代码与软件需求统一维护等技术效果,使得追踪关系更加精确、合理,减少了由人为因素引入错误。

【技术实现步骤摘要】

本专利技术涉及计算机软件程序开发的
,特别涉及一种源代码导入及解析的方法和装置。
技术介绍
现有技术中,源代码一般使用汇编语言或高级语言编写,基于软件架构和低层需求编制的代码。在民用机载软件研制领域,权威的安全标准对于安全等级为A/B/C级的机载软件的源代码的指导意见明确指出:源代码应可追踪至低层需求。其目的是确保所有低层需求都已开发成源代码,并且不存在任何非预期的源代码。在现有的软件研制环境中,软件需求的开发维护工具不支持(或有限支持)源代码数据的导入,即,软件需求的维护与源代码的维护是分别使用不同工具或方法实现的。现有的使用需求开发工具在已建立低层需求数据库的前提下,使用工具导入源代码文件,并记录文件名,而源代码内容只以文本形式存储,并不对其进行解析;用户手动为每个源代码文件与工具数据库内的低层需求之间建立追踪关系。更常见的方法是由用户手动维护一个源代码与低层需求之间的追踪关系矩阵,这种方法由纯人工编写追踪关系矩阵,因此一般不将其视为一种技术。现有的源代码维护技术,存在以下缺点:1)追踪粒度较粗。现有技术以源代码文件作为与低层需求的基本追踪粒度。这样建立的追踪矩阵由于追踪粒度过粗,追踪关系不明确、
可读性较差,使得源代码与低层需求之间的追踪关系流于形式,无法真正达到确保所有低层需求都已开发成源代码,并且不存在任何非预期的源代码的目的。2)需纯手动关联。现有技术不解析源代码文件,无法自动识别源代码内容,若需要建立更精确的(如以函数级为追踪粒度)追踪关系,只能依靠开发人员以纯手动形式比对源代码维护工具与需求维护工具的内容,然后将函数、变量等源代码元素与低层需求一一关联。由于源代码与需求的数量庞大,这样的方法效率很低,也非常容易引入错误,为后续的验证工作带来不必要的麻烦。3)源代码与软件需求的维护分离。源代码与软件需求等其它软件研制生命周期数据的维护工具是互相独立的。这样的分离可能带来不一致的问题,降低项目对软件生命周期数据的维护能力,影响项目工作质量和效率。
技术实现思路
本专利技术提供一种基于FOG数据的源代码导入及解析的方法和装置,以解决现有的源代码维护技术中存在的追踪粒度粗、需纯手动关联、源代码与软件需求的维护分离等缺点。为解决上述技术问题,本专利技术提供的基于FOG数据的源代码导入及解析的方法和装置是这样实现的:一种基于FOG数据的源代码导入及解析装置,用于源代码与低层需求之间建立追踪关系,包括:源代码导入模块,将导入的源代码转化为FOG数据;解析选项配置模块,用于配置源代码解析的选项;源代码解析模块,提取源代码中的解析元素;自动关联低层需求模块,通过识别的低层需求标识符自动建立解析元素与低层需求的追踪关系。还包括:静态分析模块,对导入的所述源代码进行静态分析,并为解析元素提供静态分析报告。还包括:源代码版本管理模块,用于为导入成功的源代码文件进行版本设置。解析选项配置模块中所述源代码解析选项内容包括自定义库文件路径、设置条件编译参数、规定作者标识符和低层需求标识符。一种基于FOG数据的源代码导入及解析方法,用于源代码与低层需求之间建立追踪关系,包括:源代码导入步骤,将导入的源代码转化为FOG数据;解析选项配置步骤,用于配置源代码解析的选项;源代码解析步骤,提取源代码中的解析元素;自动关联低层需求步骤,通过识别的低层需求标识符自动建立解析元素与低层需求的追踪关系;静态分析步骤,对导入的源代码进行静态分析,并为解析元素提供静态分析报告。还包括:静态分析步骤,对导入的所述源代码进行静态分析,并为所述解析元素提供静态分析报告。还包括:源代码版本管理步骤,用于为导入成功的源代码文件进
行版本设置。解析选项配置步骤中源代码解析选项内容包括自定义库文件路径、设置条件编译参数、规定作者标识符和低层需求标识符。解析元素包括函数、变量和类型,解析元素和低层需求均以FOG数据为单位。本专利技术的积极效果在于:1)追踪粒度较细。本专利技术以从源代码提取的解析元素(函数、变量、类型)为与低层需求建立追踪关系的基本粒度,使得追踪关系更加精确、合理。2)支持自动关联。使用预定义的低层需求标识符,只需在编写源代码时依照规则在注释中添加相关的低层需求信息,该装置就可以在解析完成后自动将解析元素关联至低层需求。这样就等同于在编写源代码的同时自动建立追踪关系,无需再额外耗费人力维护追踪矩阵,减少由人为因素引入错误的可能。3)源代码与软件需求统一管理。源代码经导入、解析后,提取的解析元素被该装置视为FOG数据,与其它同为FOG数据的软件生命周期数据基于相同的管理粒度,实现了所有数据一致、统一的版本控制和配置处理。附图说明图1为基于FOG数据的源代码导入及解析的装置框图;图2为基于FOG数据的源代码导入及解析的方法流程图。具体实施例本专利技术所称FOG数据是指具有独立语义的最小数据单位。本专利技术提供一种源代码导入及解析的方法和装置,将源代码数据与软件需求等软件研制生命周期中产生的其它数据都视为FOG数据,并置于同一工具平台下统一维护,提取源代码中的数据元素,并以此为基础建立源代码与低层需求的追踪关系。为了使本
的人员更好地理解本专利技术方案,下面结合附图和实施方式(以C语言源代码为例)对本专利技术作进一步的详细说明。如图1,源代码导入模块11中,源代码导入支持zip,rar等格式的压缩包,压缩包支持多层文件夹结构,例如可包含使用C语言编写的.c代码文件和.h头文件。压缩包内包含的其它无关文件(非.c或.h文件)在导入时将被自动忽略。解析选项配置模块12在导入源代码之前,支持用户配置源代码解析的选项,内容包括:1)头文件库路径。如果源代码的编译环境包含一些非标准库头文件,并且这些头文件不包含在导入的源代码包中,可设置这些头文件的所在目录路径,以便在解析时也将这些库文件包含进来;2)程序条件编译宏定义。如果源代码中包含一些条件编译的宏定义,并且在解析时需要使得条件编译通过,可在此设置。具体地,例如,源代码中包含:#ifdef WIN32#include“abc.h”#endif可以添加参数“WIN32”,使#include“abc.h”生效;3)低层需求标识符。可设置约定字符串,用于在源代码注释中标识低层需求信息。具体地,如定义“LLR:”为低层需求标识符,若函数注释中出现“LLR:XXX_LLR_001”,则“XXX_LLR_001”将被自动识别为该函数应关联的低层需求,该设置仅对“函数”有效。4)作者标识符。可设置约定字符串,用于在源代码注释中标识作者信息。具体地,如定义“Author:”为作者标识符,则函数注释中出现“Author:XYZ”,则“XYZ”将被自动识别为该函数的作者;该设置仅对“函数”有效。源代码解析模块13中解析的目的是提取源代码中的解析元素,每个解析元素都将被装置作为FOG数据。其原理是识别源代码文件中的所有函数定义、全局变量声明和类型定义相关代码及信息,解析元素包括三种:1)函数。包含函数前首行注释开始至函数体结束行为止的所有代码,识别为该函数的相关代码;2)变量。包含全局变量声明所在行,识别为该变量的相关代码;3)类型。包含自定义类型(typedef)前首行注释开始至类型定义结束行为止的所有代码本文档来自技高网
...

【技术保护点】
一种基于FOG数据的源代码导入及解析的装置,用于源代码与低层需求之间建立追踪关系,其特征在于,包括:源代码导入模块,将导入的源代码转化为FOG数据;解析选项配置模块,用于配置所述源代码解析的选项;源代码解析模块,提取所述源代码中的解析元素;自动关联低层需求模块,通过识别的低层需求标识符自动建立所述解析元素与所述低层需求的追踪关系。

【技术特征摘要】
1.一种基于FOG数据的源代码导入及解析的装置,用于源代码与低层需求之间建立追踪关系,其特征在于,包括:源代码导入模块,将导入的源代码转化为FOG数据;解析选项配置模块,用于配置所述源代码解析的选项;源代码解析模块,提取所述源代码中的解析元素;自动关联低层需求模块,通过识别的低层需求标识符自动建立所述解析元素与所述低层需求的追踪关系。2.根据权利要求1所述的基于FOG数据的源代码导入及解析的装置,其特征在于,还包括:静态分析模块,对导入的所述源代码进行静态分析,并为所述解析元素提供静态分析报告。3.根据权利要求1所述的基于FOG数据的源代码导入及解析的装置,其特征在于,还包括:源代码版本管理模块,用于为导入成功的所述源代码文件进行版本设置。4.根据权利要求1所述的基于FOG数据的源代码导入及解析的装置,其特征在于:所述解析选项配置模块中所述源代码解析选项内容包括自定义库文件路径、设置条件编译参数、规定作者标识符和低层需求标识符。5.根据权利要求1所述的基于FOG数据的源代码导入及解析的装置,其特征在于:所述解析元素包括函数、变量和类型,所述解析元素和所述低层需求均以FOG数据为单位。6.一种基于FOG数据的源代码导入及解析的方法...

【专利技术属性】
技术研发人员:王云明
申请(专利权)人:上海爱韦讯信息技术有限公司
类型:发明
国别省市:上海;31

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

1