Our use case for Klocwork is somewhat unusual. We're an embedded component provider for the military and aerospace market that produces single-board computers and various platforms for that. We also develop operating systems, device drivers, and low-level interfacing APIs for our hardware. Klocwork helps us achieve compliance with certification because our products must conform to DO-178 standards for aerospace and defense software.
We primarily use Klocwork internally to measure code quality. We get code from third parties and analyze it with Klocwork to get a baseline of its quality to know if we need to improve it or leave it alone.
Klocwork created an environment where the engineers have checks and balances as they develop and progress through our release process. The solution is not critical to our organized stations because we don't produce the end solutions. However, it allows us to reassure our customers that we're providing them with a solid basis they can build upon within their processes and procedures.
Our customers have their own standards to follow. We don't use it to enforce coding standards because we take things from various places, and the standards change depending on the type of tech.
Our upgrade procedure is coarse, and it requires the client sites to be updated at the same time. We must upgrade in one step, and we're dealing with UK and NIS cybersecurity requirements. We must go through the certification each time, and it's becoming more difficult.
The solution drives developers not to introduce any more errors. We use third-party software to decide whether to fix or analyze what Klocwork provides us. Engineers sometimes question what Klocwork flags, and they must go through that exercise. I like that because it prompts the engineers to think about development, and finding something to spark a discussion is often hard. The tool provides an interesting perspective.
It provides insights that can help new people who join the team. If they try to push code to the system with errors, Klocwork makes them pause and question what they're doing. Klocwork shortens the development cycle and process of third-party reviews by about five percent because the code is a little cleaner. Usually, it will go to review with more people involved. It eliminates some review work because Klocwork provides the individual engineer with insight.
The money saved would be difficult to quantify based on our current utilization of Klocwork. It helps at a fundamental level, reducing the time needed to get to the implementation phase.