关于静态:代码质量与安全-使用Incredibuild加速Klocwork静态代码分析

39次阅读

共计 1914 个字符,预计需要花费 5 分钟才能阅读完成。

Klocwork 是一款优良的动态代码剖析和 SAST 工具,实用于 C、C++、C#、Java、JavaScript、Python 和 Kotlin,可辨认软件安全性、品质和可靠性问题,帮忙强制恪守规范。
Incredibuild 是一款减速编译工具,为 C ++ 代码编译和剖析提供弱小的分布式解决和独特的构建缓存减速。通过将其与 Klocwork 相结合,您可能疾速剖析整个代码库,从而在开发晚期辨认编码破绽和谬误,并确保编码标准失去施行。
龙智作为 DevSecOps 研发平安经营一体化解决方案供应商、Perforce 受权合作伙伴、Incredibuild 合作伙伴,致力于将寰球先进工具引入中国市场,帮忙大型开发团队缩短开发周期,更好、更快地交付软件。立刻分割咱们,理解 Klocwork 与 Incredibuild 的相干信息及最佳实际。

动态代码剖析并非一种新工具,而是一种日趋广泛的办法,能够用该办法来确保代码品质以及构建更为优质的应用程序。但家喻户晓,这并不是最快的过程。随着代码库的不断扩大,这一景象尤为显著——仅 2022 年,代码库就增长了 18% 以上,而且许多代码库曾经达到了数百万行。

均衡此类对于速度与品质的需要意味着,尽管动态代码剖析正日益成为一种规范,但也尤为须要找到使之可行的办法。如何在一天中找到些许工夫来确保这一根本过程不会影响您的公布打算?能够通过找到使这一过程更为简略、更为见效的工具。像 Perforce 制作的 Klocwork 这类工具,专门为大规模代码库和简单开发环境而设计。

即便如此,动态代码剖析总是还能更快些。这便是 Incredibuild 与 Klocwork 在 Windows 上齐全集成的起因所在——用以确保您能够将动态代码剖析齐全嵌入到 DevOps 管道中,而不用加快开发周期。

携手共进——Klocwork 与 Incredibuild 独特作用的起因

随着越来越多的组织承受 DevOps 实际和办法,找到简化管道的办法是进步产品质量和放慢市场投放工夫的要害。这包含从寻找正确的团队构造到最大限度地利用现有的硬件和云资源等。

必须放弃随时在线意味着 CI/CD 管道中的任何瓶颈都会在其余任何中央造成影响。例如,开发中的提早可能会影响文本和分支治理,从而导致迭代频率升高,减缓反馈周期,并且如果产生谬误,则更难确定谬误产生的地位。反过来,这也会影响到 QA 和测试,也就是说可能会漏掉谬误,推延公布,并且可能无奈如期完成热修复。

动态代码剖析和动态利用平安测试 (SAST) 等工具是该过程的重要组成部分,但更快地做这些工作能够帮忙将它们更无效地集成到 CI/CD 管道中,而不就义从晦涩的工作流中取得的工夫增益。这便是 Incredibuild 和 Klocwork 的用武之地。

联合两者能够充分利用所开发组织的计算能力,从而更快解决这些要害工作(同时实现构建)。得益于 Incredibuild 的虚构分布式解决,能够解决动态剖析和 SAST,而无需暂停其余要害开发流程与作业。不用期待事件实现,只需在事件实现时持续工作。

如何开始应用 Incredibuild 和 Klocwork

一旦准备就绪,就没有什么沉重的工作要做。您只须要几个步骤便可开始同时应用这两个平台。首先,请确保您满足以下先决条件:

  • 您已装置 Klocwork 的无效许可证
  • 您在 Klocwork 中领有“拜访网络 API”权限。因为权限默认设置为根管理员和我的项目管理员,请您与管理员确认。
  • 确保所有应用 Klocwork 的计算机上都装置了 Incredibuild 启动器代理,Klocwork 将作为动态代码剖析的一部分(同时,仔细检查启动器许可证是否有 Klocwork 插件)。
  • 如果您在云端应用 Incredibuild,请确保它们能够与您的 Klocwork 许可证服务器进行通信

一旦您确定全副就位,您只须要遵循两个疾速步骤:

应用 kwinject 创立构建标准。您能够应用 buildconsole 进行散发与减速。

kwinject buildconsole.exe ><”sln path”> /rebuild /cofg=”Debug|Win6 4”

运行集成构建剖析。您能够应用 Incredibuild 的 xgConsole 命令(语法不会从 ibconsole 命令中产生更改)进行散发与减速。

xgConsole /profile="C:\Klocwork\Server 21.1\config\xgProfile.xml" /title=<"title name"> /command="kwbuildproject --url http://localhost:8080/<project_name> -j [n] -o kwtables -f kwinject.out”

正文完
 0