0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

绿色环保又节能,软件开发居然也可以

北汇信息POLELINK 2022-11-09 08:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着气候变化成为一个关键的全球问题,软件开发人员和DevOps 专家也开始反思他们自己的行业,以帮助减少该行业对气候的影响。在这个大背景下,静态分析工具可以我们提供怎样的帮助呢?

CI/CD 对软件开发的好处

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

通过使用CI/CD,开发人员可以在开发周期内尽快了解,已引入代码库的构建问题——这通常称为“左移”。这种做法还可以确保团队其他成员受到的影响最小,因为违规更改可以很容易地撤消,因为它们尚未提交到 Master/Main 分支。

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

但是,CI/CD在处理器时间和能源消耗方面存在不菲的成本。CI/CD 流程消耗的能量非常大——尤其是当您考虑到这些 CI/CD 作业为每个开发人员的提交或拉取请求响应时,这可能意味着每个开发人员每天要构建多个项目。

如果您随后在这些流程中添加质量或安全检查,在最好的情况下,这将运行复杂的全程序、控制和数据流静态分析引擎,导致构建时间线性递增(通常是标准的2 倍到 10 倍)编译和链接时间),那么每个作业消耗的机器资源和能源量也会成比例地增加。

更环保的静态分析

多年来,静态分析工具开发人员一直在精益求精地提高工具性能,这通常会在性能上取得小幅提升,以抵消扫描新类别缺陷或进行更深入扫描以提高准确性所导致的偶尔性能下降。

但从根本上说,他们正在处理一个越来越大的问题空间,这通常被称为“路径爆炸”。

许多静态分析工具使用的一项显着效率改进方案是增量分析。

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

然而,在最坏的情况下,增量分析可能等同于全面分析。此外,增量分析还要求保留以前运行的分析数据,这并不总是可行的。

Klocwork 如何支持绿色软件开发

Klocwork是一种静态分析和SAST工具,其具备独特的设计理念,通过独立分析每个节点,然后生成节点的“速记”,供其他节点使用,从而使其能够有效地执行整个程序数据流分析。

这种被称为“差异分析”的能力,比增量分析更进了一步。它不仅允许分析作业可以几乎无限地并行化,而且还可以在系统其余部分被隔离的情况下,分析单个新节点或变更节点。

差异分析是对一组明确的已更改文件或新文件执行的增量分析,不保留先前的运行分析数据,并且重新分析的代码可能最少。

换句话说,作为每个开发人员提交或拉取请求的一部分,差异分析使我们能够在尽可能短的时间内并使用尽可能少的能量,对新的和变更的代码运行静态分析或SAST 检查。其具备CI 的所有好处,但结果更快,能耗更低。其包含静态分析或 SAST 检查的 CI/CD 管道的所有好处,但更具备可持续性。

开始使用Klocwork 开发绿色软件

亲自了解Klocwork如何帮助您为 C、C++C#Java、JavaScript 和 Python 开发高质量的绿色软件。免费试用获取私信北汇信息即可~

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件开发
    +关注

    关注

    0

    文章

    676

    浏览量

    29872
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32嵌入式软件开发的必备知识

    嵌入式软件开发作为计算机科学和电子工程的交叉领域,要求开发人员具备一系列的专业知识和技能。 而基于CW32的嵌入式软件开发必备知识包括以下部分: 1 、编程语言 熟练掌握C(C++)语言,这是
    发表于 11-28 07:48

    芯科科技推出Simplicity Ecosystem软件开发套件

    Silicon Labs(芯科科技)今日在深圳盛大举办享誉业界的Works With开发者大会,同时宣布推出Simplicity Ecosystem软件开发套件,它不仅是下一代模块化的软件开发
    的头像 发表于 10-27 16:45 736次阅读

    十大北京软件开发公司推荐:有哪些优点和缺点

    十大北京软件开发公司推荐:有哪些优点和缺点
    的头像 发表于 10-04 09:44 1152次阅读
    十大北京<b class='flag-5'>软件开发</b>公司推荐:有哪些优点和缺点

    2025北京软件开发公司推荐汇总:盘点10家优秀软件定制开发公司

    2025北京软件开发公司推荐汇总:盘点10家优秀软件定制开发公司
    的头像 发表于 09-30 09:16 2463次阅读
    2025北京<b class='flag-5'>软件开发</b>公司推荐汇总:盘点10家优秀<b class='flag-5'>软件</b>定制<b class='flag-5'>开发</b>公司

    知识分享 | 敏捷方法在基于模型的软件开发项目中的应用

    传统的瀑布式软件开发流程存在诸多局限,这使得应用敏捷原则变得尤为重要,尤其是面对复杂且不断变化的开发环境时。作为最高效的软件开发方法之一,基于模型的开发(MBD)具有诸多优势。将敏捷原
    的头像 发表于 07-16 16:52 1062次阅读
    知识分享 | 敏捷方法在基于模型的<b class='flag-5'>软件开发</b>项目中的应用

    嵌入式软件开发常用的软件有哪些?

    配置STM32微控制器和微处理器硬件和软件设置。同时可以用来写代码编译。 6. VMWare Workstation 嵌入式Linux开发,除了装双系统之外,还
    发表于 07-03 17:06

    基于瑞萨64位MPU RZ/G2L进行32位应用软件开发

    本文主要介绍基于瑞萨64位MPU RZ/G2L进行32位应用软件开发的介绍,用于解决客户32位软件移植相关问题,供客户参考。
    的头像 发表于 06-26 15:48 1612次阅读
    基于瑞萨64位MPU RZ/G2L进行32位应用<b class='flag-5'>软件开发</b>

    请问从哪里可以获取CCG5 软件开发及Layout注意事项?

    我们准备开发一款雷电4的拓展坞 请问从哪里可以获取CCG5 软件开发及Layout注意事项
    发表于 05-30 06:21

    找电机控制软件开发兼职

    软件开发兼职人员,我现在有一个永磁无刷电机控制,220V,需要有相关经验的人来开发,兼职费用可以议谈,产品是增压泵相关产品,有兴趣给我留言,谢谢
    发表于 05-07 17:43

    CICTCD在汽车软件开发中的革命性作用#持续集成与测试 #CICD持续集成与交付

    软件开发
    北汇信息POLELINK
    发布于 :2025年04月17日 15:36:09

    水冷负载箱:节能环保的测试新选择

    的推广应用标志着电力电子测试技术向绿色低碳方向迈进。其显著的节能效果和环保特性,不仅降低了测试成本,更为实现碳中和目标提供了有力支持。未来,随着技术的不断进步,水冷负载箱将在更多领域发挥重要作用,推动测试行业向更高效、更
    发表于 02-07 11:11

    嵌入式软件开发符合ISO 26262 功能安全标准

    )的符合性呢?现在,您可以通过 “如何遵守 ISO 26262 标准 ”白皮书在 ISO 26262 合规性方面抢占先机。了解如何以最佳方式加快嵌入式软件开发符合
    发表于 01-15 12:04 3次下载

    我国软件开发者数量突破940万

    2024开放原子开发者大会20到21日在武汉举办。工业和信息化部负责人透露,我国软件开发者数量突破940万。 开源就是开放软件的源代码,在遵守许可协议的前提下,任何人都可以使用、修改甚
    的头像 发表于 12-24 13:52 719次阅读

    最新Simplicity SDK软件开发工具包发布

    最新的SimplicitySDK软件开发工具包已经发布!此次更新针对SiliconLabs(芯科科技)第二代无线开发平台带来了包括蓝牙6.0的信道探测(Channel Sounding
    的头像 发表于 12-24 09:47 1495次阅读

    我国软件开发者数量超过940万

    在近日举办的开放原子开发者大会上,工业和信息化部负责人传来了一则令人振奋的消息:我国软件开发者数量已经突破940万大关。这一数据不仅彰显了我国在软件开发领域的雄厚实力,预示着我国在全
    的头像 发表于 12-23 11:08 915次阅读