[发明专利]一种面向C/C++混源软件的自动化质量评估系统设计方法在审
申请号: | 202011271320.2 | 申请日: | 2020-11-13 |
公开(公告)号: | CN112380123A | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 李必信;金晓骁;王璐璐;廖力 | 申请(专利权)人: | 众信方成智能科技(南京)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/70 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 杜静静 |
地址: | 211106 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 c++ 软件 自动化 质量 评估 系统 设计 方法 | ||
1.一种面向C/C++混源软件的自动化质量评估系统设计方法,其特征在于,具体步骤如下:
步骤1,提取指标;
根据闭源软件,开源软件和混源软件的不同特性分别提取不同的一级指标和二级指标;
步骤2,构建模型;
以步骤1中提取的指标构建面向C/C++的混源软件质量模型,模型为“质量属性—质量子属性—度量指标”的三层软件质量框架;每一层包含不同的指标,质量属性对应所有一级指标,质量子属性对应所有二级指标,度量指标包含每个二级指标的度量元;
步骤3,获取度量元与设计指标计算;
3.1,通过代码的抽象语法树,测试文档,用户手册文档,运行日志解析度量元信息;
3.2,设计所有二级指标计算公式;
步骤4,设计自动化度量系统;
系统主要分为前端和后端两大模块,前端负责上传混源项目代码,文档与所使用开源代码、选择使用的模型、勾选指标、设置指标相对权重矩阵和展示度量结果功能;后端包含解析模块、矩阵构造模块、计算模块3个子模块,解析模块负责对上传的代码,文档进行解析提取度量元信息,矩阵构造模块负责对用户输入的各质量属性两两之间的相对重要权重值构建判断矩阵,并验证输入的相对权重是否符合一致性,计算模块负责对每个二级指标进行计算,并结合矩阵构造模块获得的权重计算最终度量结果。
2.根据权利要求1所述的面向C/C++语言的混源软件自动化质量评估系统设计方法,其特征在于,所述步骤1中从ISO25010模型中提取的和闭源软件特性相关的二级指标根据C/C++语言的特性进行一些修改,对混源软件中C/C++语言交互带来的影响在可移植性下增加共存性和互操作性两个二级指标,安全性下的漏洞情况二级指标;根据C/C++语言的特性,包括C/C++中指针的引用规范性,在可维护性指标下增加代码复杂性二级指标;在自主可控性一级指标下增加多源可控性和数据可交换性两个二级指标表示混源项目中开源代码与闭源代码交互所带来的影响。
3.根据权利要求1所述的面向C/C++语言的混源软件自动化质量评估系统设计方法,其特征在于,所述步骤3中度量元的获取主要来自3个方面:
1)对C/C++代码使用CDT工具构建抽象语法树AST,AST上的每个节点都表示源代码中的一种结构,通过继承ASTVisitor对象,并重写其中的visit()方法访问AST中的节点获取源代码的静态信息,包括圈复杂度,类或函数的个数,C语言函数的调用关系,有效代码,文件间调用关系;
2)对日志文档、测试文档、用户手册文档进行解析获取一些体现软件实际运行情况的信息,如日志信息中的总运行时间,平均无故障运行时间等,测试文档信息的总功能数,交换数据量等,用户指南信息的界面数,安装步骤;
3)对所使用的开源项目在GitHub上的信息进行比较来获取和开源特性相关的二级指标的度量元,包括收藏数,代码提交次数,版本分支数,并比较上传到开源代码库中的开源代码与混源代码获取相似度信息和开源协议信息,对上传到开源代码库的开源代码和混源项目代码进行相似度匹配获取,将相似度0.9以上的代码定为相似代码,然后遍历混源软件代码获取相似代码片段并计算开源代码占比信息。
4.根据权利要求1所述的面向C/C++语言的混源软件自动化质量评估系统设计方法,其特征在于,所述步骤4中计算子模块首先根据步骤3.1中得到的度量元信息和3.2中设计的每个二级指标的计算公式进行计算得到每个二级指标的度量值,然后采用层次分析法获得每个二级指标的权重,层次分析法是美国运筹学家匹茨堡大学教授萨蒂提出的一种层次权重决策分析方法,根据问题的性质和要达到的总目标,将问题分解为不同的组成因素,并按照因素间的相互关联影响以及隶属关系将因素按不同的层次聚集组合,形成一个多层次的分析结构模型,从而最终使问题归结为最低层相对于最高层的相对重要权值的确定或相对优劣次序的排定。最后通过线性法对所有二级指标和其权重进行加权计算得到最终结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于众信方成智能科技(南京)有限公司,未经众信方成智能科技(南京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011271320.2/1.html,转载请声明来源钻瓜专利网。