研讨会回顾|AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

400-666-7732

研讨会回顾

AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

拥有CI/CD的所有益处,却更绿色

来源:perforce  作者:龙智   发布时间:2022-02-14  09:50

随着气候变化成为一个关键的全球问题,软件开发人员和DevOps专家也开始反思自己的行业,以帮助减少行业对气候产生的影响。我们今天的课题是找出在静态分析工具开发方面可以为环保做些什么。

CI/CD对软件开发的好处

在过去几年内,软件开发的一个主要改进是引入持续集成(CI)和持续部署/交付(CD),以及DevOps自动化运动。

通过使用CI/CD,开发人员可以在开发周期内尽快了解被引入代码库的构建问题——这就是通常所说的 “左移”。这种做法还能确保对团队其他成员的影响达到最小,因为当它们还没有被提交到主/主分支时,违规的修改可以很容易地被撤消。

在质量保证(QA)团队和安全团队或首席安全官(CSO)的鼓励下,DevOps专业人士经常主张将静态分析或SAST(静态分析安全测试)工具作为CI/CD管道的一部分。这确保了用户不仅能从编译器构建问题的早期检测和修复中获益,而且还能从添加到代码库中新的安全漏洞、可靠性问题或违反标准的行为中获益。

然而,CI/CD在处理器时间和能源消耗方面是有成本的。CI/CD过程所消耗的能量很大——特别是当你考虑到这些CI/CD工作最好是为每个开发人员的提交或拉取需求而运行时,这可能意味着每个开发人员每天要进行几个项目的构建。

如果你随后在这些过程中加入质量和安全检查,在最好的情况下,这复杂的运行会涉及全程序、控制和数据流静态分析引擎,将构建时间以线性方式增加(通常是标准编译和链接时间的2到10倍),那么这些工作所消耗的机器资源和能量也会按比例增加。很快你就会发现这里存在可扩展性问题,还有一个更重要的能源使用问题。

图片

更环保的静态分析

多年来,静态分析工具的开发者们一直在孜孜不倦地提高性能,经常在性能上取得小幅提升,以抵消与扫描新类别缺陷或对某些元素进行更深入扫描以提高准确性相关的偶尔的性能下降。

但从根本上说,他们正在处理一个越来越大的问题空间,这通常被称为 “路径爆炸”——象征性地执行所有可行的程序路径。

许多静态分析工具使用的一个重要的效率改进是使用增量分析。

增量分析是指只分析基于依赖树而被改变或增加的代码。在最好的情况下,增量分析意味着只有少数文件被重新分析,从而显著减少时间、资源和能源需求。

然而,在最坏的情况下,这将涉及低效的架构系统,所有的文件都需要被重新分析的情况下,增量分析就可能等同于全面分析。此外,增量分析还要求保留以前运行的分析数据,这并不总是可行的。

图片

Klocwork如何支持绿色软件的开发

Klocwork是一种静态分析和SAST工具,它的设计方式与众不同,通过独立分析每个节点,然后生成节点的“shorthand”表示形式以供依赖于它们的其他节点使用,从而有效地执行整个程序的数据流分析。

这种被称为 “差异分析”的能力比增量分析更进一步,不仅允许分析工作几乎无限地并行化,而且如果整个程序被分析为一个整体,它还可以将单个新节点或已更改节点与系统的其余部分隔离开来分析。

差异分析是针对一组明确的变更文件和新文件所执行的增量分析,不保留先前的运行分析数据,并且尽可能地减少重新分析的代码。

换句话说,差异分析使我们在尽可能短的时间内,使用尽可能少的能量,在每一个开发人员提交或拉取需求时,对新的或更改的代码运行静态分析或SAST检查。它拥有CI的所有优点,却能做到结果更快、能耗更低;它包含静态分析或SAST检查的CI/CD管道的所有优点,却更具有可持续性。

开始使用Klocwork开发绿色软件

亲自体验Klocwork如何帮助你为C、C++、C#、Java、JavaScript和Python开发高质量、绿色的软件。联系Klockwork中国授权合作伙伴龙智,申请免费试用。

Klocwork是针对C,C++,C#和Java编程语言的最准确的代码分析器之一。这是一款现代化的敏捷静态代码分析器,可扩展到任何规模的项目,并且可以在DevOps周期内开展有效地工作。此外,它还通过了 TüV-SüD的功能安全合规认证,包括IEC 61508,ISO 26262,IEC 62304和EN50128。 产品简介 良好的合规性 安全,可靠的代码

最新文章

相关产品

分享到:
关于龙智

龙智DevSecOps解决方案

龙智深耕DevSecOps相关领域近十年,集成DevOps、ITSM、Agile管理思路及该领域的优秀工具,提供软件研发生命周期管理解决方案,以及实施、培训、升级、数据迁移、定制开发、运维等服务。

龙智致力于帮助企业实现软件开发运营一体化,并确保安全防护融入软件研发的整个生命周期中。龙智提供从产品规划与需求管理、开发,到测试、部署以及运维全生命周期的解决方案与管理工具,帮助企业科学、高效、安全地管理软件开发,更快、更好地交付软件产品。

近年来,龙智团队潜心开发,先后帮助金融、通信、互联网、汽车、芯片、游戏、医疗等行业的1000多家企业促进开发安全运营的一体化的实践。 秉承着打造开放式DevSecOps的理念,龙智与国外其他多家DevOps工具顶级厂商如Atlassian、Perforce、Mend(原WhiteSource)、CloudBees、SmartBear等合作,将国际市场上先进的工具引入中国市场,帮助企业打造量身定制的DevSecOps解决方案、ITSM解决方案,助力企业高效开发与运维。

我们的自研产品包括Confluence水印插件,Timewise-Jira计划及实际工时管理插件,Jira服务台企业微信应用插件等;我们还与全球DevOps领域领先的企业建立了合作伙伴关系,我们是:

· Atlassian全球白金合作伙伴

· Perforce中国授权合作伙伴

· Mend (原WhiteSource)中国授权合作伙伴

· CloudBees中国授权合作伙伴

· SmartBear中国授权合作伙伴