[发明专利]一种基于度量的开源软件代码质量评价方法在审
申请号: | 202110882005.1 | 申请日: | 2021-08-02 |
公开(公告)号: | CN113590486A | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 李光杰;唐艺;张翔;易比一;侯胜杰 | 申请(专利权)人: | 中国人民解放军军事科学院国防科技创新研究院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京正阳理工知识产权代理事务所(普通合伙) 11639 | 代理人: | 张利萍 |
地址: | 100071 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 度量 软件 代码 质量 评价 方法 | ||
本发明涉及一种基于度量的开源软件质量评价方法,属软件质量评测技术领域。针对现有软件质量评价方法的不足,通过分析开源软件的特点,首先构建一个包含6个度量维度、26个二级度量指标和36个三级度量项的开源软件质量度量体系,并设置各度量项的初始权重因子。然后,针对每个维度选取不同的技术提取相应度量项的度量值。最后,将实际取得的度量值乘以相应的权重因子计算开源软件的综合得分。
技术领域
本发明涉及一种基于度量的开源软件质量评价方法,属软件质量评测技术领域。
背景技术
开源软件是指一种源代码可以自由获取和传播的计算机软件,在开源许可证的规定之下允许被许可人对软件进行使用、修改和传播。开源软件的特点是源代码开放共享、大众化协同和群智迭代开发,开源软件在代码托管平台的流行度、活跃度、版本演化信息、开源协议遵守情况以及上下游依赖代码的安全性等可从不同角度刻画软件质量。
然而,现有的传统软件质量模型一般仅从软件产品的外部质量和软件代码的内部质量对软件质量进行评价,而没有考虑开源软件这些特有的质量特征,如社区流行度、许可证安全性、上下游依赖特征以及持续演化特征等。因此,其仅适于传统的闭源软件评价,不适于开源软件的代码质量评价。
发明内容
本发明的目的在于针对现有软件质量评价方法的不足,提出一种基于度量的开源软件质量评价方法。
本方法的创新点在于:通过分析开源软件的特点,首先构建一个包含6个度量维度、26个二级度量指标和36个三级度量项的开源软件质量度量体系,并设置各度量项的初始权重因子。然后,针对每个维度选取不同的技术提取相应度量项的度量值。最后,将实际取得的度量值乘以相应的权重因子计算开源软件的综合得分。
一种基于度量的开源软件质量评价方法,包括以下步骤:
步骤1:基于静态程序解析技术,从开源软件中提取7个特征指标对软件的内在代码质量进行度量,包括:可维护性、可读性、可扩展性、灵活性、简洁性、可复用性和可测试性。
步骤2:基于专家评审和软件测试技术,提取6个二级特征指标和21个三级特征指标对软件的外在产品质量进行度量,包括:
步骤2.1:提取4个功能性指标,分别为适应性、准确性、互操作性和安全保密性;
步骤2.2:提取3个稳定性指标,分别为成熟性、容错性和易恢复性;
步骤2.3:提取2个效率指标,分别为时间特性和空间特性;
步骤2.4:提取4个可维护性指标,分别为易分析性、易改变性、稳定性和易测试性;
步骤2.5:提取4个可移植性指标,分别为适应性、易安装性、易替换性和共存性;
步骤3:基于软件版本管理技术,提取3个二级、15个三级特征指标对开源软件的社区质量进行度量,包括:
步骤3.1:提取3个二级指标,分别为:活跃度、流行度和开发能力;
步骤3.2:提取5个活跃度的度量指标,分别为commit数、代码更新速度、bug修复速度、issue数和issue响应时间;
步骤3.3:提取5个流行度的度量指标,分别为下载量、fork数、star数、watch数和branch数。
步骤4:基于开源许可证检测技术提取4个二级特征指标对开源软件的法律安全性进行度量,包括:
步骤4.1:检测软件代码中声明了许可证的文件数;
步骤4.2:计算软件代码中声明许可证的文件与文件总数的百分比,即许可证的覆盖率;
步骤4.3:计算软件代码中声明的许可证中被OSI认可的许可证比例;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军军事科学院国防科技创新研究院,未经中国人民解放军军事科学院国防科技创新研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110882005.1/2.html,转载请声明来源钻瓜专利网。