TASKING Safety Checker v2.0r1
Release Note

Scope

This release note covers the changes between v1.0r1 and v2.0r1 of the TASKING Safety Checker. For release notes prior to v2.0r1, please visit the Safety Checker support website.

Contents

Safety Checker

TASKING Safety Checker is an (A)SIL, (Automotive) Safety Integrity Level, aware Static Analyzer which supports Software Partitioning and helps to assure Freedom from Interference between software with incompatible (A)SILs.

Beside isolation of code and data, the Safety Checker is also capable of checking C source code (ISO/IEC 9899:1990, 1999 and 2011) for possible vulnerabilities, including MISRA C guidelines (1998, 2004 and 2012) and CERT C secure coding standard.

Important Notices

Examples

For Windows, the Safety Checker will be installed in the 'Program Files' folder by default. This folder has only limited write access, so in general it is not possible to run the examples from within this location. Installing the Safety Checker outside the 'Program Files' folder solves this problem, but just copying the whole example folder to a location with sufficient access rights is preferable.

New in v2.0r1

This section gives an overview of the most important new features and improvements in v2.0r1.

MISRA C:2012 Amendment 1

MISRA C:2012 Amendment 1 sets out a number of additional guidelines to improve the coverage of the security concerns, highlighted by the ISO C Secure Guidelines. Several of these address specific issues pertaining to the use of untrustworthy data, a well-known security vulnerability. Most of these additional rules for secure coding practices are supported now in this release.

MISRA C:2012 Group 5 Identifiers

MISRA C:2012 Group 5 Identifiers rules set out a number of guidelines to improve readability and avoid developer confusion.

Wildcards in Safety Class Selections

For the file mask and name mask you can use wildcards. The wildcards syntax is the same as for the bash utility with extglob extension as used on Linux. It is specified in the online documentation for bash.

Enhanced Analysis for Checking Access Violations

The analysis of accesses via pointers including indirect function calls has been improved significantly. It drastically reduces a number of W799 warnings ('unable to check safety violation') thus diminishing manual verification efforts. To perform this analysis, the Safety Checker treats union members as non-overlapping, making unions in effect equivalent to structs. With option --strict-unions you tell the Safety Checker to interpret unions like a target compiler does, with overlapping members. However, it may cause the Safety Checker run for an extremely long time. This undesirable effect can be limited by applying the #pragma strict_unions to specific unions.

Report Improvements

The report output has been reorganized. Redundant information has been removed and useful information (e.g. code locations and safety class references) has been added. The call graph report size has reduced significantly. New option --root-functions has been added to limit the report to specific branches of the call tree. XML report generation has been dropped.

New Diagnostic Messages

New diagnostic messages are added to help catch important problems such as missing safety class mapping for a function or calling an external function.

Quick start

For a quick start, go to the Start menu and open the 'TASKING Safety Checker User Guide' from within the sub-folder called 'Manuals'. After reading chapter 'Introduction', chapter 'Tutorial' is a good starting point for exploring the capabilities of the Safety Checker.

License Information

TASKING products are protected with TASKING license management software.

License key

You need a license key when you install a TASKING product on a computer. When you order a TASKING product from Altium or one of its distributors, a license key will be sent to you by email or on paper.

See Obtaining a License on our website for more information.

Local TASKING License Server (not applicable to evaluation licenses)

If you have ordered a TASKING product with a floating license, you can have it serviced by the Remote TASKING License Server (the most convenient solution) or through a Local TASKING License Server (in case you have no external network access for example). Consult your Altium representative for assistance on deciding what the best setup would be for your situation.

If you like to setup up a local license server, we kindly refer you for more information to Support for TASKING License Management System (TLM) on our website. Here you can also download the Local TASKING License Server package.

It is advised that you install the Local TASKING License Server before you install products that require this server.