PRQA | Programming Research has upgraded its flagship products QA·C and QA·C++. The new releases of these static analysis tools for the C and C++ environments incorporate new functionality covering: Dataflow analysis, enhanced Graphical and Command Line Interfaces, support for the latest Modern C++ language features, and an improved level of coverage for compliance with the MISRA C++ and High Integrity C++ (HIC++) coding standards.
The Dataflow engine in both QA·C++ and QA·C can now perform pointer alias modelling on class and structure pointer members. To enable this enhancement, the internal representation of class/structure members has been changed to a form which can be processed more efficiently by the SMT Solver, boosting the speed, depth and accuracy of the analysis. This has also improved analysis of pointer arithmetic and allows full pointer alias modeling of the first level of indirection.
Additional enhancements to the cross-platform architecture and updated Graphical and Command Line Interfaces include better integration to IDEs (MS Visual Studio and Eclipse), improved third party component integration to expand the list of supported software languages, plus IPv6 and multi-language support.
QA·C++ is a tool that supports the growing number of development teams transitioning to Modern C++ (C++’11 and C++’14). The tool already provides coverage of key new constructs such as rvalue references, variadic templates, user defined literals, the noexcept operator, and many more. The recent addition of external templates, default arguments and extension to this, means that QA·C++ now supports more than 60% of recently added language features.
In the latest version of QA·C++ there are also significant improvements in the support for both MISRA C++ and HIC++ compliance modules, and the level of coverage of the statically enforceable rules has now reached 92% and 87% respectively.