Perforce静态分析工具升级!2024.2引入CI/CD集成和分析选项,助力开发左移和持续合规
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的分析结果,以识别新变更所带来的任何缺陷。
以下是它的工作原理:
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工具的地位,以实现大规模的持续合规性、安全性和质量。它可与复杂的环境集成,为整个企业提供控制、协作和报告功能。
作者:Stuart Foster,Perforce静态分析工具产品经理
了解有关Helix QAC和Klocwork更多新的增强功能,欢迎咨询Perforce中国授权合作伙伴——龙智,申请免费试用。
🌐 官网:www.shdsd.com
📞 电话:400-666-7732
📮 邮箱:marketing@shdsd.com