Whitepaper: Satisfying SIL Requirements with Parasoft – Increase Functional Safety of E/E/PE Safety-Related Systems

Meeting requirements for particular SIL levels as defined by the IEC 61508 standard is no easy feat for software developers. Parasoft can help with that.

Learn how to automate best practice in software development and testing.

Parasoft Functional Safety & Compliance 1_1

Download the whitepaper to understand how Parasoft can be used to fully or partially satisfy software development process requirements for particular SIL levels within the IEC 61508 standard.

Focus areas:

  • Understanding IEC 61508
  • Features and functionalities of Parasoft C/C++test
  • How to satisfy IEC 61508 requirements with Parasoft
  • Safety functions are increasingly being carried out by electrical, electronic or programmable electronic systems. These systems are typically complex, making it impossible to fully determine every failure mode or test all possible behavior.
  • While it’s challenging to predict safety performance, testing remains critical. The real obstacle is designing the system to prevent dangerous failures or control them when they arise.
  • Safety is a primary concern with today’s electrical/electronic/programmable electronic safety-related systems, especially with new functionalities being released all the time.
  • Every function required to keep risk at an acceptable level is called a safety function. To achieve safety, functions must fulfill safety function and integrity requirements.
  • As a result, safe system development processes and providing evidence that all reasonable safety objectives are satisfied are critical initiatives.
  • Because complexity, software content and mechatronic implementation are increasing, so are risks of systematic and random hardware failures. IEC 61508 includes guidance to reduce risks to a tolerable level.
  • Using Parasoft, software development teams can meet requirements for particular SIL levels by automating best practices in software development and testing.
  • Safety Integrity Level (SIL) as defined by the IEC 61508 standard is one of four levels (SIL1-SIL4) corresponding to the range of a given safety function’s target likelihood of dangerous failures.
  • Every function in a safety-related system should have an appropriate safety integrity level assigned.
  • An E/E/PE safety-related system usually implements more than one safety function. If safety integrity requirements differ, requirements applicable to the highest relevant safety integrity level apply to the entire E/E/PE safety-related system.
  • According to IEC 61508, the safety integrity level for a given function is evaluated based on either the average probability of failure to perform its design function on-demand or the probability of a dangerous failure per hour.
  • The IEC 61508 standard specifies requirements for achieving each safety integrity level.

Parasoft C/C++test is an integrated development testing solution for automating a broad range of best practices proven to improve software development team productivity and software quality, including:

  • Static code analysis, data flow static analysis and metrics analysis
  • Peer code review, codebase changes analysis
  • Unit test creation, execution, optimization and maintenance
  • Runtime error detection to find memory access errors, leaks, corruptions and more
  • Safety functions are increasingly being carried out by electrical, electronic or programmable electronic systems. These systems are typically complex, making it impossible to fully determine every failure mode or test all possible behavior.
  • While it’s challenging to predict safety performance, testing remains critical. The real obstacle is designing the system to prevent dangerous failures or control them when they arise.
  • Safety is a primary concern with today’s electrical/electronic/programmable electronic safety-related systems, especially with new functionalities being released all the time.
  • Every function required to keep risk at an accepted level is called a safety function. To achieve safety, functions must fulfill safety function and integrity requirements.
  • As a result, safe system development processes and providing evidence that all reasonable safety objectives are satisfied are critical initiatives.
  • Because complexity, software content and mechatronic implementation are increasing, so are risks of systematic and random hardware failures. IEC 61508 includes guidance to reduce risks to a tolerable level.
  • Using Parasoft, software development teams can meet requirements for particular SIL levels by automating best practices in software development and testing.
  • Automate code analysis for monitoring compliance
  • Identify runtime bugs without executing software
  • Code metrics analysis
  • Streamline code review
  • Monitor the application for memory problems
  • Unit and integration test with coverage analysis
  • Test on the host, simulator and target
  • Configurable detailed reporting
  • Reporting & analytics (DTP)
  • The below table shows how Parasoft C++test supports the software development lifecycle methods required for the safety functions to achieve a given SIL for a few C++test functionalities covering coding standards compliance (static code analysis).
  • For the complete list which includes static data and execution flow analysis, peer code review and unit testing, download
    the whitepaper.
  • The following markers are used in the tables presented below to indicate:
  • R – functionalities matching methods recommended by the IEC 61508 standard
  • HR – functionalities matching methods highly recommended by the IEC 61508 standard
  • C++test functionality descriptions contain a reference to the appropriate techniques/measures as defined by the IEC 61508-3, Annex A, for example (Table A.3:1) references IEC 61508-3, Table A.3, Technique 1.

 

CODING STANDARDS COMPLIANCE – STATIC CODE ANALYSIS

C++test functionality SIL
1 2 3 4
Coding standards compliance module – general
Using C++test as a static analysis tool for C programming language
(Table A.3: 1)

HR

HR

HR

HR

Enforcement of specific coding standards (Table A.4: 5)

R

HR

HR

HR

Using static analysis (Table A.9: 3)

R

HR

HR

HR

Analysis types

Using code metrics (e.g. function size, function parameter counts, etc.) to enforce structured programming (Table A.4: 6)

HR

HR

HR

HR

Enforcement of industry-recognized coding standards rule sets, such as MISRA C/C++, JSF, HIS source code metrics, etc. (Table B.1: 1)

HR

HR

HR

HR

Enforcement of specific coding conventions (Table B.1: 1)

HR

HR

HR

HR

 

*Note: The complete information presented in the whitepaper is intended to briefly introduce C++test usage in the SIL-related verification and testing process. Refer to the standard and consult functional safety experts for clarification of any requirements defined by the IEC 61508 standard.

 

About Parasoft

Parasoft’s software testing solutions support the entire software development process, from when the developer writes the first line of code all the way through unit and functional testing, to performance and security testing, leveraging simulated test environments along the way. Parasoft's unique analytics platform aggregates data from across all testing practices, providing insights up and down the testing pyramid to enable organizations to succeed in today's most strategic development initiatives, including Agile/DevOps, Continuous Testing, and the complexities of IoT. Parasoft’s automated software testing innovations fuel software development organizations, helping teams reduce the time, cost, and effort of delivering high-quality software to the market.