Perforce静态分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改进和安全增强
Perforce Helix QAC和Klocwork的最新版本对静态分析工具进行了重大改进,通过尽早修复错误、降低开发成本和加快发布速度,使开发团队实现左移。
本文中,我们将概述2024.2版本的新特性和新功能。
CI/CD和左移以实现持续合规性
现代软件开发实践要求开发团队具备适应性,在确保代码质量和可靠性的同时,优先考虑灵活性和协作性。在软件开发流程中实施持续集成(CI)和持续交付(CD)流程,是现代DevOps实践的关键。
在软件开发生命周期(SDLC)的构建和测试阶段,持续集成(CI)至关重要。它使开发人员能够识别问题、消除代码冲突、保持储存库的代码更新,并减少储存库提交瓶颈。
在CI构建和自动化测试成功完成后,持续交付(CD)便开始进行。它帮助团队在短时间内生产软件,以便测试变更并上传到储存库。
静态分析工具对自动化执行CI/CD流程至关重要。开发人员可以使用静态分析工具(如Helix QAC和Klocwork)来扩展CI/CD,并将测试左移至SDLC的早期阶段,在编写代码时就能发现错误和违反标准规则的情况,以确保持续合规性,而无需执行程序。
这些工具有诸多好处,例如用作质量门,确保对代码所做的任何变更都能集成到主线中,并顺利通过CI构建和测试,然后再进入开发的下一阶段。此外,以Klocwork为例,还可以执行差分静态分析。由于Klocwork在集中式服务器中保存了全系统的代码知识,所以它只需要分析新代码和已更改的代码。这就提供了尽可能短的分析时间,并加快了CI/CD流程。
Helix QAC 2024.2中新增的CI/CD集成支持
随着Helix QAC 2024.2的推出,用户可借助新增的Delta Analysis功能,通过Perforce Validate平台获得全面的CI/CD集成支持。这意味着开发人员现在可以管理CI/CD的分析结果,以识别新变更所带来的任何缺陷。
以下是它的工作原理:
1.Helix QAC可为变更集生成Delta Analysis结果,作为新功能分支提交、合并请求或拉取请求的一部分。2.然后,Helix QAC通过Validate平台报告这些结果。
CI Delta结果
Helix QAC的CI/CD流程分析功能,使组织能够更快地识别和沟通错误,而无需等待夜间构建。
开发团队还可以在桌面之外开展工作:将结果集成并发布到Validate中的分析数据、趋势和指标的集中存储区,供整个组织内的用户访问。
CI 构建
这种支持还扩展到在基于云的 CI 流水线中运行的分析作业、容器化构建任务,以及通过内置Web API集成到各种CI/CD平台。这样,开发团队就可以在SDLC的早期阶段发现并修复缺陷,从而更快地推向市场。
现代嵌入式开发:Klocwork 2024.2中的分析引擎改进和安全增强
随着Klocwork的新版本发布,开发人员还获得了现代软件开发所需的改进功能和特性。Klocwork 2024.2为C/C++分析引擎带来了显著的准确性提升和性能改进。
这不仅扩展了对现代C和C++代码结构的语言支持,还引入了在 “现代模式” 下单独运行分析引擎的选项。(注:"现代模式”可能会因分析覆盖率和理解能力的提高而导致结果发生更显著的变化)。
这一新的现代功能带来令人振奋的好处:
- 提高了C++17及更高版本的代码覆盖率和缺陷检测能力。
- 降低假阳性(false positives)和假阴性(falsenegatives)率。
- 分析速度的提升高达25%。(* 基于内部基准测试的开源项目)
2024.2版本还改进了开发人员所需的所有现代身份验证功能,包括通过Validate平台增强 Klocwork的安全性,使用安全断言标记语言(SAML)和OpenID Connect(OIDC)。
这些更新通过集中式身份验证增强了安全性,并通过单点登录(SSO)帮助IT团队简化了用户管理和用户体验。
近年来,随着多因素身份验证(MFA)成为标准安全实践,用户身份验证也有了很大的发展。Perforce 静态分析工具已做好准备,通过在新版本中实施身份验证和密码改进,继续领先一步,迎接未来的安全挑战。
为什么选择Helix QAC和Klocwork?
Helix QAC是作为一款准确且精确的代码分析工具,在嵌入式软件开发行业中实现持续合规性具有显著优势。2024.2版本引入的改进功能,进一步巩固了Helix QAC的领先地位。
Klocwork 2024.2的新增改进措施,同样巩固了Klocwork作为首选SAST工具的地位,以实现大规模的持续合规性、安全性和质量。它可与复杂的环境集成,为整个企业提供控制、协作和报告功能。
了解有关Helix QAC和Klocwork更多新的增强功能,欢迎咨询Perforce中国授权合作伙伴——龙智,申请免费试用。
官网:http://www.shdsd.com
电话:400-666-7732
邮箱:marketing@shdsd.com
相关文章:

Perforce静态分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改进和安全增强
Perforce Helix QAC和Klocwork的最新版本对静态分析工具进行了重大改进,通过尽早修复错误、降低开发成本和加快发布速度,使开发团队实现左移。 本文中,我们将概述2024.2版本的新特性和新功能。 CI/CD和左移以实现持续合规性 现代软件开发实…...

太阳能电池特性及其应用
中南民族大学-通信工程2024-大学物理下实验 目录 代码实现结果显示 🛠工具使用 MarsCode(插件,集成在PyCharm); python编程(豆包AI智能体) 💻编程改进 此处是用「Matplotlib」来作图…...

日语学习零基础生活日语口语柯桥外语学校|股票用日语怎么说?
在日语中,“股票”可以说: • 株(かぶ) 这是最常用的表达方式,直接表示“股票”。 例如: 株を買う - 买股票 株を売る - 卖股票 • 株式(かぶしき) 这个词也是“股票”的意…...

第2关:寻找一个序列中的第K小的元素(即第k小元问题)
[TOC]寻找一个序列中的第K小的元素(即第k小元问题) 对于给定的含有n(n<100)元素的无序序列,求这个序列中第k(1≤k≤n)小的元素。 任务描述 本关任务:编写一个能计算数组中的第k小的元素的小程序。 相关…...

docker 搭建 vue3 + vite
vue3发布了,今天就分享一下我使用docker 搭建 vue3 vite 开发环境。至于为什么使用docker搭建,因为多版本可以快速切换,和本地环境避免冲突。好了话不多说我们开始吧。 1. 准备资料 Docker Desktop wsl2 ubuntu 下载地址 : https://www.docker.…...

【网易云音乐】--源代码分享
最近写了一个网易云音乐的音乐实现部分,是通过JavaScript和jQuery实现的,具体效果大家可以参照下面的视频 源代码分享 - git地址: 网易云音乐源代码 下面将着重讲解一下音乐实现部分 视频有点模糊,不好意思,在b站上添加视频的时候…...

股市大涨下的会展业创新者
近期,股市涨势强劲有力,各大指数普遍上扬,市场活力空前。与此同时,伴随全球经济逐步复苏及会展行业不断发展,上市展览公司机遇与挑战并存。国内外市场需求持续增长拓展了广阔发展空间,但同时行业竞争愈发激…...

工具篇-完整的 Git 项目管理工具教程(在命令框中使用 Git、在 IDEA 中使用 Git)
🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 Git 概述 2.0 Git 的安装和配置 3.0 获取本地仓库 3.1 基础操作指令 3.2 分支 4.0 Git 远程仓库 4.1 创建远程仓库 4.2 配置 SSH 公钥 4.3 操作远程仓库 5.0 使用…...

关于Amazon Linux 2023的版本及包管理器
在亚马逊上创建EC2实例时,会看到有一个Amazon Linux镜像。 那这个镜像与其他Linux有什么关系和区别呢? 网站是介绍:Amazon Linux 2023 是基于 Linux 的现代化通用操作系统,提供 5 年的长期支持。它针对 AWS 进行了优化࿰…...

Java面向对象编程--高级
目录 一、static关键字 1.1 静态变量 1.2 静态内存解析 1.3 static的应用与练习 二、单例设计模式 2.1 单例模式 2.2 如何实现单例模式 三、代码块 3.1 详解 3.2 练习,测试 四、final关键字 五、抽象类与抽象方法 5.1 abstract 5.2 练习 六、接口 6.…...

Vert.x,Web - 静态资源/模板
静态资源 Vert.x-Web带有开箱即用的处理器(StaticHandler),用于处理静态Web资源(.html, .css, .js, …), 因此可以非常轻松地编写静态Web服务器。 默认静态文件目录为类路径下的webroot目录,对于maven的项目,按规范放在src/main/…...

OpenAI今天Open了一下:开源多智能体框架Swarm
来源 | 机器之心 毫无疑问,多智能体肯定是 OpenAI 未来重要的研究方向之一,前些天 OpenAI 著名研究科学家 Noam Brown还在 X 上为 OpenAI 正在组建的一个新的多智能体研究团队招募机器学习工程师。 就在几个小时前,这个或许还没有组建完成的新…...

车辆重识别(2021NIPS无分类器扩散指南)论文阅读2024/10/08
[1] CLASSIFIER-FREE DIFFUSION GUIDANCE(无分类器扩散指导) (NIPS 2021) 作者:Jonathan Ho & Tim Salimans 单位:Google Research, Brain team(谷歌团队) 摘要: 分类器指导是最近引入的一…...

JavaSE——认识异常
1.概念 在生活中,人有时会生病,在程序中也是一样,程序猿是一帮办事严谨、追求完美的高科技人才。在日常开发中,绞尽脑汁将代码写的尽善尽美,在程序运行过程中,难免会出现一些奇奇怪怪的问题。有时通过代码很…...

嵌入式数据结构中顺序栈用法
第一:嵌入式C语言中栈特点 栈是限制在一端进行插入操作和删除操作的线性表(俗称堆栈),允许进行操作的一端称为“栈顶”,另一固定端称为“栈底”,当栈中没有元素时称为“空栈”。特点 :后进先出(LIFO)。...

PE结构之绑定导入表
打印绑定导入表 //打印 绑定导入表 BOOL PrintBoundImport(__in char* m_fileName) {char* Filebuffer NULL;if (!GetFileBuffer(m_fileName, &Filebuffer)) return FALSE;PIMAGE_DOS_HEADER LPdosHeader NULL;PIMAGE_NT_HEADERS LPntHeader NULL;LPdosHeader (PIMAGE…...

【python学习】1-2 配置python系统环境变量
1.点击“我的电脑”右键,点击属性,点击“高级系统设置”,再点击环境变量。 2.选择“系统变量”中的Path后,点击编辑。 3.点击新建,添加如图两个路径,即是python安装的路径位置后,点击确定。...

日均千万订单的交易平台设计稿
业务背景 平台主要售卖电子商品和少量特定的实物商品。 经营模式,主要分为平台商家和自营店,自营店的流量占整个平台业务的50%以上,我负责自营店交易履约相关业务。 以前的架构,平台交易和履约中心是所有流量共享,在…...

如何在 iPad 上恢复已删除的历史记录?
iPad 配备了一个名为 Safari 的内置网络浏览器。这是一种在旅途中保持联系和浏览网页的强大且便捷的方式。但如果您不小心删除了浏览历史记录,则尝试恢复它可能会很令人沮丧。 幸运的是,您可以通过多种方法在 iPad 上恢复已删除的 Safari 历史记录。您应…...

Haar cascade训练人脸小模型做人脸辨别
代码讲解 1. 导入必要的库 import cv2 import os from pathlib import Path import shutil import numpy as np import loggingcv2: OpenCV 库,用于图像处理和计算机视觉。os: 提供了一种便携的方式使用操作系统依赖的功能。pathlib.Path: 提供了对象导向的路径处…...

DBA | 如何将 .mdf 与 .ldf 的数据库文件导入到SQL Server 数据库中?
[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] 原文链接:DBA | 如何将 .mdf 与 .ldf 的数据库文件导入到SQL Server 数据库中? 如何将 (.mdf) 和 (.ldf) 的SQL Server 数据库文件导入到当前数据库中? Step 1.登录到 Sql Server 服…...

【差分数组】个人练习-Leetcode-3229. Minimum Operations to Make Array Equal to Target
题目链接:https://leetcode.cn/problems/minimum-operations-to-make-array-equal-to-target/description/ 题目大意:给出两个数组nums[]和target[],可以对nums[]数组进行这样两种操作 给某个区间内的子列全加1给某个区间内的子列全减1 求…...

HTML5--裸体回顾
免责声明:本文仅做分享~ 详情请参考以下: HTML 系列教程 (w3school.com.cn) 菜鸟教程 - 学的不仅是技术,更是梦想! --本文是光秃秃的空壳. 标题标签 段落标签 换行和水平线 文本格式化标签 (一般用左边的ÿ…...

【网络安全】CVE-2024-46990: Directus环回IP过滤器绕过实现SSRF
未经许可,不得转载。 文章目录 背景漏洞详情受影响版本解决方案背景 Directus 是一款开源 CMS,提供强大的内容管理 API,使开发人员能够轻松创建自定义应用程序,凭借其灵活的数据模型和用户友好的界面备受欢迎。然而,Directus 存在一个漏洞,允许攻击者绕过默认的环回 IP …...

问:JVM的垃圾收集算法你知道哪些,有什么区别?
GC(垃圾回收器)的概念 GC,即垃圾回收(Garbage Collection),是计算机程序中一种自动管理内存的机制。其目的是自动回收不再被使用的对象所占用的内存空间,从而避免内存泄漏和内存溢出࿰…...

Python selenium库学习使用实操四
系列文章目录 Python selenium库学习使用实操 Python selenium库学习使用实操二 Python selenium库学习使用实操三 文章目录 系列文章目录[TOC](文章目录) 前言一、元素获取二、选项解析总结 前言 在Python selenium库学习使用实操二中提到了下拉框的操作,一种是标…...

用Go开发跨平台GUI
本篇内容是根据2023年3月份#271 Cross-platform graphical user interfaces音频录制内容的整理与翻译 这一期与 Wails 和 Fyne 的创建者一起深入研究为不同架构和操作系统编写 Go 代码。 译者注: Wails的作者是在澳大利亚悉尼的威尔士人,github头像是威尔士的旗帜,Wails也是Wa…...

云原生开发 - 工具镜像(简约版)
在微服务和云原生环境中,容器化的目标之一是尽可能保持镜像小型化以提高启动速度和减少安全风险。然而,在实际操作中,有时候需要临时引入一些工具来进行调试、监控或问题排查。Kubernetes提供了临时容器(ephemeral containers&…...

Mac 电脑pink 后端ip地址进行本地联调
文章目录 0: 使用ping 192.39.192.180查看是否能ping通1:点击访达2:在访达里面 shift commit g 打开前往路径的窗口3:在窗口中输入地址/private/etc/hosts4:打开hosts文件 添加后端地址(如:192.39.192.180 localhost:80805:保存 后端ip为192.39.192.180…...

iPhone使用指南:如何在没有备份的情况下从 iPhone 恢复已删除的照片
本指南将向您展示如何在没有备份的情况下从 iPhone 恢复已删除的照片。我们所有人在生活中的某个时刻都一定做过一些愚蠢的事情,例如从手机或电脑中删除一些重要的东西。这是很自然的,没有什么可羞耻的。您可能在辛苦工作一天后回来。当突然想看一些照片…...