ARCAD releases new Codechecker module to guarantee software quality and reduce DevOps risk

Development Tools / Utilities
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

ARCAD Software, leading vendor in DevOps and Enterprise Modernization solutions for IBM i, today announced the release of a new module in its DevOps suite: ARCAD-CodeChecker, for continuous source code quality analysis.

ARCAD-Codechecker is a static code analysis engine designed to continuously monitor source code quality as an integral part of the DevOps cycle. The solution is language independent, based on universal parsing technology able to apply generic rules on any different language. Source code quality metrics and rules are entirely customizable. This first product release supports RPG Free Form, the most popular language on the IBM i (aka iSeries, AS/400) platform. Other languages including CL, COBOL, DDS and DDL (SQL) will be supported in upcoming releases.

Michel Mouchon, ARCAD CTO, explains the importance of automating code quality checks in a DevOps strategy: "DevOps is all about delivering small code increments more frequently, to shorten the user feedback loop and detect errors as early as possible in the cycle. The rule is to 'shift left': the earlier a software error is detected, the lower the cost of the error. This applies to software bugs as well as design errors, but it also applies to quality defects. It explains why we attempt to automate all tasks after coding through to deployment, including continuous regression test. With ARCAD-CodeChecker we are going one step further by automatically detecting poor quality code before it is even submitted for peer review".  

ARCAD-CodeChecker is a fully standalone product that integrates seamlessly with RDi and can be used with any 3rd party external tooling on IBM i.

ARCAD envisages several different use cases for ARCAD-CodeChecker:

  1. Code Quality Audit – CodeChecker can automatically measure the quality of each program at predefined checkpoints, to calculate metrics such as cyclomatic complexity, percentage of comment lines, etc. Regular audits can be performed for each software version, to reveal trends and plan corrective action.

  2. Continuous Code Review – CodeChecker can be integrated with version control systems, to automatically check code quality before the build phase. For example, CodeChecker can be launched by Jenkins as part of a Continuous Integration process.

  3. Peer Review – CodeChecker integrates with standard Git repositories such as GitHub, GitLab and BitBucket to increase the efficiency of the ‘pull request’ or ‘merge request’. This way, automated code quality checking becomes part of the standard workflow. Using ARCAD-CodeChecker, developers reduce time spent in a peer review by one-third on average. Poor quality code is rejected even before a ‘commit’ operation.

  4. Onboarding of new developers – CodeChecker is a learning aid for new developers starting to use IBM i languages such as Free Form RPG. With an easy way to understand coding rules and check them automatically, developers can continuously improve their coding style and avoid costly mistakes.

Mouchon summarizes: "The sheer speed of development in today’s DevOps implementations introduces new risks that must be managed. Careless coding increases the risk of side-effects that cause costly downtime in production. By detecting poor quality code before it even reaches the build stage, we prevent the escalation of 'technical debt'. Automated quality control this early in the development cycle actually secures application availability and reduces IT costs overall. This is why we see ARCAD-CodeChecker as a strategic piece of any DevOps implementation on IBM i".

ARCAD-CodeChecker completes ARCAD’s modular offering, ARCAD for DevOps, to automate the following development phases:

-       Application Audit (ARCAD-Audit)

-       Application Analysis (ARCAD-Observer)

-       Source Code Management (ARCAD-Skipper / Git …)

-       Continuous Quality (ARCAD-Codechecker)

-       Continuous Integration/Build (ARCAD-Builder / Jenkins)

-       Continuous Test (ARCAD-Verifier)

-       Continuous Delivery (DROPS)

For more information: