Axivion Suite – the complete solution
for software erosion protection
The Axivion Suite gives you the full range of Axivion analysis tools in one box. The Axivion Suite includes static code analysis, architecture analysis and effective tools for the detection of code smells. For development in safety-oriented environments, the Tool Qualification Kit can also be added.
The Axivion Suite runs on Windows, Linux and MacOS, can be integrated into almost all CI environments, such as Jenkins or Bamboo, and supports various build tools, like make, cmake, msbuild, scons and gradle. The Axivion Suite can be combined with all standard version control systems, such as Subversion®, Git™, IBM® Rational® Team Concert®/ClearCase®, Perforce® etc. Axivion’s Professional Services team can guarantee integration into virtually any DevOps environment.
We exhaustively evaluated a whole range of analysis tools. The Axivion Suite has impressed us during our daily development work due to its comprehensive open functions which could readily be adapted to our needs. On top of this we benefit from the practical support provided by Axivion’s professional services team, who are there to help us during every phase of our software quality assurance.
Dr. Stefan Staudt
Software Quality Manager, TRUMPF
Static Code Analysis
With the defect analysis, you can identify weaknesses in your software project. With the metrics you can generate quantitative information about the internal quality of your software, and you can achieve compliance with the coding guidelines through the style checks. In addition to the predefined compliance checks for MISRA, AUTOSAR C++14, CERT, ISO/IEC TS 17961 or metrics like HIS and McCabe, and tracking memory leaks, you can also set and check your own rules with the Axivion Suite’s rule editor.
Coding Guidelines: MISRA, CERT, AUTOSAR, ISO/IEC TS 17961, customer-specific
Axivion’s Coding Guidelines cover 100 per cent of the automatically checkable rules for MISRA C:2004, MISRA C:2012 (including MISRA C:2012 Amendment 1 Security Rules and MISRA C:2012 Amendment 2) and MISRA C++:2008 and the automatically checkable rules for AUTOSAR C++14 (17.03, 17.10, 18.03, 18.10 and 19.03), as well as many of the decidable rules for CERT C and CERT C++ and ISO/IEC TS 17961 (C Secure Coding Checker). An extension of custom coding guidelines is also possible.
The Axivion Suite includes rule sets for lots of common software metrics. This includes metrics based on lines and tokens, nesting, cyclomatic complexity, control flow or golden oldies like Halstead metrics. Even whole rule sets like HIS are supported.
The defect analysis checks the source code for potential runtime errors. The analyses include scalable data and control flow checks. These allow errors such as out-of-bounds access or division by zero to be detected early.
Architecture conformance is key to success in the long run
Only if architecture and design are in sync with your code you are sure you can use the architecture as a guideline for discussing the impact and gravity of new features and thus the evolution of your products.
That is what architecture is meant for.
Code smells are indications that something is wrong in your software. Metaphorically speaking, it is giving off a somewhat unpleasant smell and this is an indication that you should invest in the internal code quality. Axivion helps you completely avoid these smells, similar to maintenance cleaning, as part of a CI strategy. But even if you take on an existing project, the Axivion Suite helps you locate unpleasant code smells and thus take action against them. The Axivion Suite helps you reliably detect and manage duplicated code across the entire project, detect cycles with inclusion of header files, as well as direct call cycles, regardless of the call depth and identify unreachable code.
The analyses detect both duplicates and similar pieces of code in the source code and track them over time to support consistent further development.
The analysis recognises cyclical dependencies on different levels. It can identify and monitor not only call cycles (recursions), but also component cycles and include cycles.
Detecting unreachable code
The Axivion Suite detects dead code based on graph reachability analysis of call relations. The analysis can also be applied to product families and then reveals functions not used in any product.
More features of the Axivion Suite
The Axivion Suite also includes integration into IDEs like Eclipse or VisualStudio, as well as a delta analysis. The delta analysis makes it easy for developers to check the changes between two versions of the customer’s project. This mechanism is of great help for measuring the improvement in code quality between versions, and also for tool introduction and acceptance in development organisation.
The Axivion Suite stops software erosion in your projects.
Delta analysis permits continuous baselining and automatic issue tracking over time. This enables you to focus on the important messages during your day-to-day business.
The image shows an analysis for the period of March to May 2019, looking for style violations, especially for AUTOSAR C++14 R19.03.
Analyses conducted by the Axivion Suite can be configured so that they run automatically for the software under analysis. This facilitates integration into your CI environment.
You can obtain the analysis results automatically via the Reporting API. From this, you can generate your own reports and also edit them using your pre-existing reporting tools.
The Web User Interface makes available all the information from the analysis via a browser interface. This enables you to integrate any IDEs you like into the workflow.
The Axivion Suite uses the command line interfaces of your version management tools for purposes such as obtaining information on version differences and authors. Straight out of the box, the Axivion Suite supports standard version management tools, such as Subversion®, Git™, IBM® Rational® Team Concert®/ClearCase®, Perforce®, etc.
The Axivion Suite includes plugins for Microsoft® Visual Studio® and Eclipse™-based IDEs. The plugins support developers by analysing issues and displaying them directly in the IDE on the workstation computer. The analysis can be performed both in the devops toolchain and on the developers workstation to provide short feedback cycles to the software engineers.