Continuous Integration

What is Continuous Integration?

Continuous Integration is a principle that encourages developers and teams to share and integrate all their contributions continuously – literally.

  • Moving away from the concept of nightly builds and instead embracing the concept of continuous builds
  • Moving away for policy enforcement and instead rely on quality enforcement

And the objective is to gain full – and automated – control of your software verification and software dependencies, so that every single developer commit has the potential of being a release candidate.

You can run our static testing tools on the command line so that they are easily integrated with many CI tools.

A Test Centric Process of the Critical Software

QA-MISRA and Cantata support both the static and dynamic aspects of verifying your code. Static analysis helps detect defects in the code before it is combined with other modules. Dynamic analysis allows us to exercise the code whilst monitoring the coverage of our test suite; checking all the critical code paths are executed during unit and integration testing. Automation features at every stage and solid integrations with CI build systems and requirements gathering tools minimise the need for manual testing. All this adds up to a dramatic reduction in defects and saves time by identifying problems faster and earlier in the development cycle.

Jenkins plugin

Jenkins CI defines jobs on the master that are executed automatically on the slaves typically when changes are delivered to the SCM system. The result of each build is presented on the web as well as statistical information over time. Using different plug-ins, the jobs can be configured to do anything that can be automated.

The ‘early and often’ approach that we advocate for our static analysis solutions clearly resonates with the Continuous Integration philosophy that is increasingly being adopted as a robust approach to software quality.

The Jenkins plugin will allow you to automate the analysis of enabled C and C++ projects, enabling you to perform the analysis as a part of your Continuous Integration process.

The plugin offers a range of functionality, including:

  • Displaying a graphical history depicting the number of messages, and overall compliance levels in your project
  • Marking a build as unstable if the number of messages exceeds a threshold
  • Producing and archiving Compliance Reports