Incredibuild and Klocwork to Accelerate DevOps
April 1, 2021

How to Use Incredibuild with Klocwork to Accelerate DevOps Productivity

DevOps
Static Analysis

DevOps organizations continually look for ways to accelerate DevOps productivity and expedite their time to market. Without the right integrated tools, this can be rather challenging.

Read along or jump to the section that interests you most:

Why Accelerating DevOps Is a Major Challenge

Accelerating DevOps is a major challenge, as you must find security, safety, compliance, and coding defects earlier in the development process before they become too difficult and expensive to fix. This challenge is often magnified, as feedback is often delayed during the integration and preproduction phases.

The most common challenges with accelerating DevOps include:

  • Quickly finding and fixing code errors early.
  • Meeting code security and compliance requirements (DevSecOps).
  • Establishing cross-team collaboration and reporting (visibility into issues).
  • Integrating code quality and build tools.
  • Increasing the speed and accuracy of identifying issues in large codebases.

How to Accelerate DevOps With the Right Tools

You can get products to market faster by integrating a development cycle acceleration tool with a static code analysis solution.

What Is Incredibuild?

Incredibuild is a development cycle acceleration tool designed to help you accelerate computationally-intensive tasks. By seamlessly and concurrently distributing processes across idle CPUs in your local network or the cloud, Incredibuild is able to radically shorten compute time for almost any workload. This is especially beneficial for compiling source code and building software as jobs can be distributed to several computers over a network.

What Is Klocwork?

Klocwork is one of the most trusted static code analysis and SAST tools for C, C++, C#, and Java. Built for enterprise DevOps and DevSecOps, Klocwork scales to projects of any size, and integrates with large complex environments and a wide range of developer tools. Coupled with its Differential Analysis, Klocwork has become the preferred solution for maintaining a high development velocity while enforcing continuous compliance for security and quality.

What’s more, Klocwork is unique in that it can handle huge codebases — such as Android AOSP and Unreal Engine. This means when Klocwork and Incredibuild are used together, build times can be significantly reduced.

Why Incredibuild Users Should Use Klocwork

Incredibuild accelerates compute-intensive workloads. By pairing it with Klocwork, Incredibuild you are able to quickly analyze your entire codebase to identify coding vulnerabilities and errors earlier in development and ensure that coding standards are enforced.

Klocwork Complements Incredibuild With…

Differential Analysis

By using system context data from the server, Klocwork is able to analyze only the files that have changed while also providing differential analysis results as if the entire system had been analyzed. This provides you with the shortest possible analysis times of new and changed code.

Integration Analysis

Klocwork uses system context data from the server to provide a snapshot of the current overall health of your software project. After each integrated analysis, Klocwork provides a list of detected coding issue along with other reports on your code. By regularly running integrated analysis, you are able to improve the quality of your code, ensure that software safety and security standards are properly enforced,  and ensure uniformity across your code base.

Why Klocwork Users Should Use Incredibuild

Klocwork helps to ensure that your code is secure, reliable, and compliant. By pairing it with Incredibuild, Klocwork users can accelerate the build process by analyzing massive codebases in a fraction of the time.

Incredibuild Complements Klocwork With…

Virtualized Distributed Processing

When a workload of multiple, concurrent processes is executed, Incredibuild automatically and dynamically distributes the processes across idle CPUs in remote machines across your network or cloud.

Why You Should Use Incredibuild and Klocwork

DevOps and DevSecOps challenges can be easily managed by combining Incredibuild with Klocwork. These two solutions seamlessly integrate into your software development lifecycle (SDLC) toolchain to deliver actionable feedback on any sized codebase and ensure high development velocity and speed.

With Incredibuild and Klocwork, your team will be able to run a super-fast static code analysis scan and get — in a matter of minutes — a full report that covers all the key safety and security standards, including MISRA, AUTOSAR, CERT, and OWASP.

In addition, if your team is struggling with lengthy build cycles and delayed feedback, you can use Incredibuild to leverage thousands of core computing power across as many machines as needed. This enables you to accelerate the build process from days to hours or even minutes. What’s more, if your local network-attached machines don’t provide enough power, Incredibuild can also be used to orchestrate a cloud-based grid of machine instances to perform the analysis job even faster.

How Incredibuild Works With Klocwork

The Benefits of Using Incredibuild and Klocwork

You can benefit from using tools that accelerate DevOps productivity while also increasing the quality of your software deliverables. For instance, you can fully utilize your existing hardware resources with help from Incredibuild. In addition to the cost efficiency IT gains, you would also benefit from a shortened super-long dev and build cycles. Just those two benefits alone translate into being able to do more cycles than ever before, which means a greater deployment cadence of new features and value to your customers.

By pairing Klocwork with Incredibuild, you are able to take advantage of the immense computing power of Incredibuild — with its distributed orchestration, cloud scaling, and CI/CD integrations abilities — which is perfectly complemented by the core features of Klockwork.

With Klocwork and Incredibuild, you can deliver products faster to market with confidence.

For example, the screenshots below demonstrate one instance of how your team can benefit from using Incredibuild and Klocwork. In this instance, Klocwork is overlayed with Incredibuild that is utilizing 15 CPUs with several cores to run a full scan on a large codebase in less than 4 minutes.

What It Looks Like When Incredibuild and Klocwork Work Together
Example of Incredibuild and Klocwork Working Together

How to Use Incredibuild with Klocwork

Here’s how to use Incredibuild with Klocwork.

  1. Install Incredibuild
  1. Install Klocwork
  • Next, you’ll download Klocwork.
  • If you’re not yet using Klocwork, you start a free trial.
  • If you’re already a Klocwork user, download the latest version
  • Once you have Klocwork installed, you will need the “access Web API” permission in Klocwork.
  1. Generate a Build Trace File with Incredibuild
  • A valid JSON build trace file is generated in the <incrediBuild-install-path>/temp folder each time an Incredibuild accelerated build is performed. The file will be named using the following naming convention:
IbCodeAnalysis_SolutionName_TimeStamp.json
  • Where SolutionName is the name of your solution and TimeStamp is a value defining the time at which the file was created.
  • See Build trace file format for information about the format of the trace file, of kwinject for details on how to generate a build specification.
  • In addition, you can specify your own custom file name and path by adding the /ca_fie=<file-path> on the BuildConsole command line. For example, /ca_file=”C:\MyFile.JSSon”.
  1. Distribute the Analysis
  • An Incredibuild profile is installed with the Klocwork Server package at:
<server_install>\config\IBProfile.xml
  • Run the integration build analysis tool, kwbuildproject, indirectly through this Incredibuild profile. Include all the kwbuildproject options you require:
IBConsole /profile=”<server_install>\config\IBProfile.xml” /command=”kwbuildproject -j<N> …”
  • Where <N> is the number of parallel threads to be used for the integration build analysis. This number must match the number of Incredibuild cores that will be used.

If you run into problems, try performing the following steps:

  1. In the Agent Settings dialog, on the Agent | General page, et your logging level to Extended and enable generate detailed logs for locally executed tasks.
  2. Run your build.
  3. Double-click the Incredibuild tray icon, then in the Build Monitor screen, click “File -> Save Monitor file As…” to save the execution monitor progress file (.ib_mon file).
  4. Restore your logging level back to Minimal.

More details on how to use Incredibuild with Klocwork can be found in this documentation.

Get Started: Incredibuild and Klocwork

Accelerate DevOps productivity and expedite your time to market with Incredibuild and Klocwork.

▶️ Start Your Free Incredibuild Trial

 ▶️ Start Your Free Klocwork Trial