如何利用codesense的GJB8114模板对c++源码进行进行规则检测

2023-11-10

2013年7⽉10⽇,中国⼈民解放军总装备部发布了中华⼈民共和国国家军⽤标准GJB 8114,全称为 8114-2013《C/C++语⾔编程安全⼦集》,提出软件编程标准,以提⾼国家军⽤软件的安全性,并作为静态规则检查的依据。

⼤量数据表明,软件存在的问题或隐患很⼤部分根源在于没有遵守编程规范或标准,所以很多院所和企业⼤多制定了⾃⼰企业的编程规范。

编程规范或标准的落实,⼀⽅⾯可以使代码开发⼈员在编程过程中遵守规则,从⽽保证代码的可理解性和可维护性,进而提高代码质量;另⼀⽅⾯也可以让测试⼈员按照规则来检查代码,及时发现代码问题。

航空、航天、电⼦、船舶等软件测评中⼼作为第三⽅评测机构,在测试过程中会严格按照“8114”的规则进⾏检测,不但可以在评测体系内保证代码规则的⼀致性,还可以在全军体系内实施推动软件标准化,落实提⾼软件的可维护性和可靠性,增强我国军⽤软件的质量。

鉴于传统的代码规则检查需要靠评测中⼼⼈⼯阅读和审查代码,如果开发⽅提交的代码本⾝没有遵守标准,就会导致评测中⼼消耗很多时间和资源在静态代码审查上。所以,⾃动化的检查⼯具来实现对代码进⾏快速有效的规则检查十分有必要。

很多企事业单位⾃⼰编制了⾃动化测试规则检查⼯具,但由于资源有限,以及标准的理解等限制,导致很多⾃研⼯具没有普适性,甚⾄对⼀些提交的代码⽆法检测。

同时国外的⼯具很少能够⽀持国标。国内做标准检测的⼚家也非常少,静态分析工具 — CodeSense软件源代码缺陷深度分析平台完全支持国军标。

CodeSense支持缺陷(违类型规)3000余条,其中GJB81114-2013、GJB5369-2005覆盖率95%,MISRAC-2004、MISRA-2012、MISRA C++-2018覆盖率80%。另外CWE 7PK覆盖率80%以上,OWASP TOP 10覆盖率100%。

以下是利用CodeSense的GJB8114模板对C++源码进行进行规则检测的实操案例:

一、登录系统

打开CodeSense工具,输入用户名密码登入系统。

二、新建测试项目

1、选择需要检测的项目的zip格式压缩包,点击打开。

2、设置项目的基本配置参数,包括项目名称、项目负责人、访问权限、项目描述,其中带*号的项是必须填写的。

3、选择项目的检测配置参数,包括涉及的编程语言、使用的检测模板、编译器、检测文件类型以及代码度量的参数设置,其中带‘*’号的项是必须设置的。检测模板选择GJB8114。

4、设置完成点击保存,系统就会自动的进行一次静态分析。

三、查看检测结果

1、任务管理界面查看检测进度,检测完成会显示检测成功图标。

2、查看检测结果信息,包括代码行数、违规总数、检测时间以及违规等级占比图等等。

3、查看具体的缺陷位置,以及规则描述。

4、缺陷审计,确认问题。

5、查看代码度量的结果,包括项目维度、文件维度和函数维度。

四、查看测试报告

1、导出测试报告。

2、下载测试报告。

3、查看测试报告内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何利用codesense的GJB8114模板对c++源码进行进行规则检测 的相关文章

  • 客户数量众多,CRM管理系统如何帮助高效客户管理

    随着中型企业客户关系的不断扩大和发展 高效管理日益庞大的客户群体变得至关重要 CRM管理系统就是管理大量客户 维护客户关系的重要工具 然而 市面上CRM系统太多了 想要快速 准确找到一款适合您业务的CRM系统是一项艰巨的任务 多客户中型企业
  • CRM软件对企业发展起着哪些作用?CRM的功能解析

    虽然不少科技成果昙花一现 但CRM管理系统作为销售和营销领域的核心技术 已经牢牢占据了不可撼动的地位 拥有一个部署得当的CRM系统能为企业带来诸多好处 它可以跟踪和管理销售人员与潜在 现有客户的所有互动和沟通 并帮助他们识别出需要重点培养或
  • TXT文本删除第一行文本变成空要如何解决呢

    首先大家一起来看下这个TXT文本里面有多行内容 想把开头第一行批量删除不要掉 1 如果是一两个本可以手动删除也很方便哦 如果文本量比较大如几十几 几百个文本大家一直都选用 首助编辑高手 工具去批量操作哦 批量操作可以大大提高工作效率 接来看
  • 江河湖泊生态水文监测物联网解决方案

    方案背景 江湖湖泊具有重要的经济效益和生态效益 是重要的资源储备 近年来 各级积极采取措施 加强江河湖泊治理 管理和保护 在防洪 供水 发电 航运 养殖等方面的综合发展 随着纳入管理的江河湖泊等水体越来越多 范围越来越广 很多水污染 非法采
  • TXT文本删除第一行文本变成空要如何解决呢

    首先大家一起来看下这个TXT文本里面有多行内容 想把开头第一行批量删除不要掉 1 如果是一两个本可以手动删除也很方便哦 如果文本量比较大如几十几 几百个文本大家一直都选用 首助编辑高手 工具去批量操作哦 批量操作可以大大提高工作效率 接来看
  • 【flink番外篇】9、Flink Table API 支持的操作示例(1)-完整版

    Flink 系列文章 一 Flink 专栏 Flink 专栏 系统介绍某一知识点 并辅以具体的示例进行说明 1 Flink 部署系列 本部分介绍Flink的部署 配置相关基础内容 2 Flink基础系列 本部分介绍Flink 的基础部分 比
  • 如何用CHAT写新能源颗粒报告?

    问CHAT 写一份新能源颗粒报告 CHAT回复 新能源颗粒 也就是生化质能源颗粒 以其清洁 可再生的特性 在环保能源市场上拥有越来越广泛的应用 以下为对于新能源颗粒行业的一份报告 1 行业概述 新能源颗粒来源广泛 主要包括农业废弃物 林业废
  • 蒙牛×每日互动合作获评中国信通院2023“数据+”行业应用优秀案例

    当前在数字营销领域 品牌广告主越来越追求品效协同 针对品牌主更注重营销转化的切实需求 数据智能上市企业每日互动 股票代码 300766 发挥自身数据和技术能力优势 为垂直行业的品牌客户提供专业的数字化营销解决方案 颇受行业认可 就在不久前举
  • 慢思维大脑:SOP流程的心理学背景

    1 背景介绍 慢思维大脑 SOP流程的心理学背景 慢思维是指人类大脑在处理复杂问题 做出重要决策时所采用的思考方式 它与快速 自动的快思维相对 主要通过以下几种方式表现 深入思考 慢思维会让人类大脑深入思考问题的本质 从而找出更深层次的解决
  • 线性代数在深度学习中的角色

    1 背景介绍 深度学习是一种人工智能技术 它主要通过神经网络来学习和模拟人类大脑的思维过程 线性代数是一门数学分支 它研究的是向量和矩阵的运算 在深度学习中 线性代数起着非常重要的作用 因为它为神经网络提供了数学模型和计算方法 在这篇文章中
  • 机器学习中的知识共享:模型与数据的交流与协作

    1 背景介绍 机器学习 Machine Learning 是一种通过数据学习模式和规律的计算机科学领域 在过去的几年里 机器学习技术在各个领域得到了广泛应用 如图像识别 自然语言处理 推荐系统等 随着数据规模的不断增长 单个机器学习模型的复
  • 人工智能与机器学习:未来的编程范式

    1 背景介绍 人工智能 Artificial Intelligence AI 和机器学习 Machine Learning ML 是现代计算机科学的重要领域之一 它们旨在让计算机能够自主地学习 理解和进化 以解决复杂的问题 随着数据量的增加
  • 大数据毕业设计:python微博舆情分析系统+可视化+情感分析+爬虫+机器学习(源码)✅

    博主介绍 全网粉丝10W 前互联网大厂软件研发 集结硕博英豪成立工作室 专注于计算机相关专业 毕业设计 项目实战6年之久 选择我们就是选择放心 选择安心毕业 感兴趣的可以先收藏起来 点赞 关注不迷路 毕业设计 2023 2024年计算机毕业
  • 这个很少人知道的零售技巧,却是我最想安利的!

    在当今数字化浪潮的推动下 零售业正在迎来一场革命性的变革 新零售模式的崛起正引领着消费者与商品之间的互动方式发生深刻的变化 在这个变革的前沿 自动售货机作为新零售的一种关键形式 通过智能技术和自动化系统 重新定义了购物体验的边界 客户案例
  • 电商数据api拼多多接口获取商品实时数据价格比价api代码演示案例

    拼多多商品详情接口 接口接入入口 它的主要功能是允许卖家从自己的系统中快速获取商品详细信息 通过这个接口 卖家可以提取到商品的各类数据 包括但不限于商品标题 价格 优惠价 收藏数 下单人数 月销售量等 此外 还可以获取到商品的SKU图 详情
  • 利用CHAT上传文件的操作

    问CHAT autox js ui 上传框 CHAT回复 上传文件的操作如果是在应用界面中的话 由于Android对于文件权限的限制 你可能不能直接模拟点击选择文件 一般来说有两种常见的解决方案 一种是使用intent来模拟发送一个文件路径
  • 扬帆证券投资者必知:股票配股与增发的区别你清楚吗?

    配股和增发都是股票再融资的方式 不过二者有一定的区别 1 发行对象不同 配股是向原股东发售一定量股票 一般会以低于市价的价格发售 增发是向全体社会公众发行股票 即新老股东都能获得 2 发行前是否需要公告价格 配股会事先公告配股价 配股的定价
  • 渗透测试常用工具汇总_渗透测试实战

    1 Wireshark Wireshark 前称Ethereal 是一个网络分包分析软件 是世界上使用最多的网络协议分析器 Wireshark 兼容所有主要的操作系统 如 Windows Linux macOS 和 Solaris kali
  • 2024 人工智能与大数据专业毕业设计(论文)选题指导

    目录 前言 毕设选题 选题迷茫 选题的重要性 更多选题指导 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生
  • AI在保护环境、应对气候变化中的作用

    对于AI生命周期数据领域的全球领导者而言 暂时搁置我们惯常的AI见解和AI生命周期数据内容产出 来认识诸如世界地球日这样的自然环境类活动日 似乎是个奇怪的事情 我们想要知道 数据是否真的会影响我们的地球环境 简而言之 是 确实如此 但作为一

随机推荐

  • 嵌入式数据库sqlite3交叉编译和移植测试总结

    一 背景 根据项目需求 需要使用数据库存放一些数据 比如用户信息 配置参数 以及后期所采集RTU设备的数据等 这里选择了适合嵌入式产品的数据库 sqlite3 二 移植平台和环境 主机端 Ubuntu ARM板 ZLG EasyARM i
  • 事务并发问题及事务隔离级别的学习

    以下内容都是看的咕泡学院的大神老师讲的一个公开课 就是记录一下 事务并发带来的三大问题 1 脏读 如下图 左右两个事务A B 事务A首先查询id 1的数据 得到age 16之后 事务B对id 1的数据 将age 16更新为age 18 然后
  • STM32驱动步进电机(原理、程序、解决电机只震动不转动问题)

    一 步进电机的介绍 首先来看一下步进电机的样子 本介绍采用平时最常见也是最简单的28BYJ 48 这是一个五线四项电机 五线 顾名思义 外部五条线 四项 电机内部的定子上有8个齿 正对着的2个齿上的绕组又是串联在一起的 也就是说正对着的2个
  • STM32CUBE 定时器使用

    目录 STM32F407VET6 定时中断 记录各个STM32型号的定时器使用方法 包括定时中断 输入捕获等功能 持续更新 STM32F407VET6 定时中断 时钟配置 这里主频配置为100Mhz 最高168Mhz 即HCLK 100MH
  • [用python辅助学生中考与高考-1]:家长篇-科技特长生概述与优势

    目录 前言 这是科技的最好时代 1 什么是科技特长生 2 科技特长生的优势 科技特长生录取方式 3 科技特长生的类型 4 科技特长生七大招生类目 5 如何成为科技特长生 6 常见的赛事 前言 这是科技的最好时代 随着国家强基计划的出台和国际
  • java编程之java jwt token什么是JWT?(一)

    转自 http www leftso com blog 220 html 一 什么是JWT 了解JWT 认知JWT 首先jwt其实是三个英语单词JSON Web Token的缩写 通过全名你可能就有一个基本的认知了 token一般都是用来认
  • 房屋租赁系统

    java房屋租赁系统
  • RFC文档:官网、中文RFC文档 及 HTTP/2相关文档

    记录一下RFC的官方文档 2023 06 12修正中文RFC文档无法访问问题 一 RFC官方网站 http www rfc editor org Index of rfc RFC文档列表 Index of rfc 二 中文RFC文档 中文R
  • OS面试题(转载)

    转载自 http placement freshersworld com power preparation technical interview preparation os interview questions 23351 1 Wh
  • Tracy 小笔记 Vue - Vue 对象

    Vue 对象 const vue new Vue options el 类型 String HtmlElement 作用 挂载对象 决定之后Vue 对象会管理哪个 Dom template 当同时有 el 和 tempalte 的时候这里写
  • java泛型

    一 泛型概念的提出 为什么需要泛型 首先 我们看下下面这段简短的代码 1 public class GenericTest 2 3 public static void main String args 4 List list new Ar
  • 计算机文档加密如何解锁,bitlocker怎么解锁_bitlocker解锁方法

    许多用户为了保护电脑文件安全不被偷看 都会喜欢使用bitlocker加密功能来进行加密 Bitlocker是一种独特的为磁盘添加密码的工具 但是很多用户使用bitlocke加密完之后 不知道要怎么解锁 为此小编这就给大家带来bitlocke
  • Vue 使用 mqttws31.js 实现消息实时推送功能(WebSocket)

    1 在 vue 文件中引入 mqttws31 js 文件 mqttws31 js 文件代码在本页底部 import utils mqttws31 2 在 vue 文件中添加代码 export default data return clie
  • MapReduce官方案例wordcount

    wordcountReduce java package MaperReduce import java io IOException import org apache hadoop io LongWritable import org
  • Python后端Flask学习项目实践---搭建一个问答网站

    1 项目效果展示 这里主要以后端为主 前端的代码不做展示 如果需要代码可以评论或者私信 用户注册 登录相关 用邮箱进行注册 并通过向邮箱发送验证码来进行判断 一个邮箱只能注册一个账号 首页相关 用户登录后可以进行发布问题和回答 同时也提供搜
  • 外罚函数法计算机,罚函数法与障碍函数法

    罚函数法与障碍函数法 罚函数法与障碍函数法是求解约束极小化问题的较好的算法 其基本原理是在原目标函数中加上一个罚 障碍 函数 而得到一个增广目标函数 罚 障碍 函数的功能是对非可行或企图穿越边界而逃离可行域的点赋予一个极大的函数值 可以作一
  • 使用 Date 和 SimpleDateFormat 类表示时间以及Calendar 类的应用

    在程序开发中 经常需要处理日期和时间的相关数据 此时我们可以使用 java util 包中的 Date 类 这个类最主要的作用就是获取当前时间 我们来看下 Date 类的使用 使用 Date 类的默认无参构造方法创建出的对象就代表当前时间
  • sql:SQL优化知识点记录(七)

    1 索引优化5 2 索引优化6 3 索引优化7 查询 百分号加右边 否则索引会失效 没建立索引之前都是全表扫描 没建立索引 建立索引 建立索引 id是主键 他也可以从主键上取 覆盖索引要到了name 索引没有失效 覆盖索引要到了age 索引
  • 使用OpenCV,Python和dlib进行眨眼检测及计数

    前三篇博客学习了 windows10 Python3 7安装dlib库进行面部标志识别 python dlib实现面部标志识别 使用python dlib OpenCV提取眼睛 鼻子 嘴唇及下颌 这篇博客将进行进阶版的学习 眨眼检测 眨眼检
  • 如何利用codesense的GJB8114模板对c++源码进行进行规则检测

    2013年7 10 中国 民解放军总装备部发布了中华 民共和国国家军 标准GJB 8114 全称为 8114 2013 C C 语 编程安全 集 提出软件编程标准 以提 国家军 软件的安全性 并作为静态规则检查的依据 量数据表明 软件存在的