Klocwork—符合功能安全要求的自动化静态测试工具

产品概述
Klocwork是Perforce公司产品,主要用于C、C++、C#、Java、 python和Kotlin代码的自动化静态分析工作,可以提供编码规则检查、代码质量度量、测试结果管理等功能。Klocwork可以扩展到大多数规模的项目,与大型复杂环境、各种开发工具集成,并提供控制、协作和报告。Klocwork提供即时的分析结果,同时保持准确性,并支持CI/CD、容器、云服务和机器配置集成,进行自动化测试,保护您的软件在每次提交时免受漏洞的伤害。

Klocwork能够较为全面而准确地发现软件中潜在的问题,例如:可发现代码中的质量缺陷和安全漏洞;发现软件中运行时错误及缺陷以及不合规范代码;发现危险、过于复杂和不可移植代码等问题。目前已广泛应用于汽车电子商务、医疗器械、生产和通信等领域。

功能及特点

  • 主要功能

 DevSecOps:Klocwork可以集成到CI/CD工具、容器、云服务等,便于实现自动化测试流程

在这里插入图片描述

 编码规范检查:支持CWE、OWASP、CERT、ISO/IEC TS 17961、MISRA C 2012、AUTOSAR C++等多种常见行业规范的检查

 缺陷检查:SQL注入、溢出、可靠性低等问题

 代码bug检查:空指针解引用、内存泄漏等问题

 软件质量度量:复杂度度量,包括圈复杂度、注释占比等,可以扩展定制的复杂度度量

  • 与开发过程集成

 差异分析

 易于自动化

 容器化构建

  • 项目管理和报告输出

 配置全局或特定于某项目的规则

 控制不同人员的访问权限,进行协同代码评审

在这里插入图片描述

 查看项目质量的趋势和度量数据

 生成多样化的报告

在这里插入图片描述

 基于严重程度、位置和生命周期确定缺陷优先级

 区分新问题和遗留问题

  • 面向开发人员

 无需用户配置编译器:Klocwork为数百个编译器和交叉编译器提供了开箱即用的支持,可以方便地与编译器集成

 与IDE集成:支持常见IDE的插件(VS,Eclipse,IntelliJ等),可直接集成到IDE中,代码修改后,在IDE插件提供差异分析结果

在这里插入图片描述

 详细的帮助文档:缺陷和编码违反是根据风险的严重程度确定的,对于每个缺陷和编码违规,可以查看帮助文档,为理解缺陷和违规提供帮助

在这里插入图片描述

 自定义规则:为了更高级的需求,工具提供了用户自定义规则的接口,支持用户根据实际需要自定义检查规则

支持的编码规范

在这里插入图片描述
在这里插入图片描述

  • 可持续集成:支持命令行形式执行分析,能够实现与持续集成环境(如Jenkins等)进行集成,且支持Jenkins插件

在这里插入图片描述

资质认证证书

  • Klocwork支持的功能安全标准:ISO 26262(汽车)、IEC 61508(一般工业)、IEC
    62304(医疗)、DO-178B/C(其他)

在这里插入图片描述

应用行业

  • 汽车行业
  • 能源技术行业
  • 医疗服务行业
  • 嵌入式开发

应用案例
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/417351.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过semanage管理SELinux

1.简介 semanage命令是用来查询与修改SELinux默认目录的安全上下文。 SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。 2.操作 如不知怎么操作,可以 --help 查看使用方法 大概的意思&…

C++实战:类的包含编译模型

文章目录 一、实战概述二、实战步骤(一)C普通类的包含编译模型1、创建普通类定义文件2、创建普通类实现文件3、创建主程序文件4、运行主程序,查看结果 (二)C模板类的包含编译模型1、创建模板类定义文件2、创建模板类实…

【C++入门到精通】智能指针 shared_ptr 简介及C++模拟实现 [ C++入门 ]

阅读导航 引言一、简介二、成员函数三、使用示例四、C模拟实现五、std::shared_ptr的线程安全问题六、总结温馨提示 引言 在 C 动态内存管理中,除了 auto_ptr 和 unique_ptr 之外,还有一种智能指针 shared_ptr,它可以让多个指针共享同一个动…

伊恩·斯图尔特《改变世界的17个方程》傅里叶变换笔记

主要是课堂的补充(yysy,我觉得课堂的教育模式真有够无聊的,PPT、写作业、考试,感受不到知识的魅力。 它告诉我们什么? 空间和时间中的任何模式都可以被看作不同频率的正弦模式的叠加。 为什么重要? 频率分量…

投标文件-优化--word快捷键设置

大纲导航快捷键的设置 “导航窗格”功能是指的如上图所示的功能,在写标书的时候,时刻需要关注你的目录大纲级别是否设置正确,文章层级目录是否正确,每次都是需要“视图--导航窗格”点,把人烦的不行,如何优化…

WordPress怎么去除jquery和CSS静态文件链接中的版本号?附2种方法

我们很多WordPress网站默认情况下所加载的jquery和CSS静态文件链接中都会带有相应的版本号,比如boke112百科使用的YIA主题,加载CSS文件时就会在链接地址后面加上?ver2.7,即是style.css?ver2.7 除了CSS文件会加上版本号外,加载主…

含并行连结的网络(GoogLeNet)

目录 1.GoogLeNet 2.代码 1.GoogLeNet inception不改变高宽,只改变通道数。GoogLeNet也大量使用1*1卷积,把它当作全连接用。 V3耗内存比较多,计算比较慢,但是精度比较准确。 2.代码 import torch from torch import nn from t…

探索设计模式的魅力:一篇文章让你彻底搞懂建造者模式

建造者模式(Builder Pattern)是一种创建型设计模式,旨在将一个复杂对象的创建过程与其表示分离,使得同样的构建过程可以创建不同的表示形式。 主要角色: 产品(Product):表示正在构建…

vue2+webpack升级vue3+vite,报错Cannot read properties of null (reading ‘isCE‘)

同学们可以私信我加入学习群! 正文开始 前言问题分析解决总结 前言 系列文章:vue2webpack升级vue3vite,修改插件兼容性bug 前面的文章主要是介绍,在升级初始阶段遇到的一些显而易见的兼容性问题和bug。随着项目迭代的不断深入&a…

从数据角度分析年龄与NBA球员赛场表现的关系【数据分析项目分享】

好久不见朋友们,今天给大家分享一个我自己很感兴趣的话题分析——NBA球员表现跟年龄关系到底大不大?数据来源于Kaggle,感兴趣的朋友可以点赞评论留言,我会将数据同代码一起发送给你。 目录 NBA球员表现的探索性数据分析导入Python…

mysql中的联合索引为什么要遵循最佳左前缀法则?

mysql中的联合索引为什么要遵循最佳左前缀法则? 一、什么是联合索引二、联合索引的优化1.常规的写法(回表查询)2.优化写法(索引覆盖) 三、 为什么要遵循最佳左前缀法则?1.如下查询语句可以使用到索引&#…

100天精通鸿蒙从入门到跳槽——第8天:TypeScript 知识储备:泛型

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》…