GCC Compiler

Name: GCC Compiler
Tool Provider:

GNU

Supported Standards: IEC61508 ISO26262
Description:

GNU GCC compiler

Use Cases:
Description:

Version 8.3 of GCC compiler

Description:

Compile Library with the GCC compiler

When compiling the library, the configuration and the environment from the feature “Used languages and compiler options for compiling library” have to be used.

Safety-Impact: yes
Inputs:
  • C/H code:

    includes C Code files and headers

Outputs:
  • Executable:

    Executable

  • Shared Objects:

    *.so file produced by compiler driver

Features:
  • Used languages and compiler options for compiling library:

    Predefined Compiler Options and Language Subset for compilation of library

Potential errors:
# Error Safety-Impact Mitigations for detections/avoidance Final detection/avoidance probability
1 [Used languages and compiler options for compiling library] Incorrect compilation of the source code for a library

Incorrect compilation of the source code.

The error can be tested with the SuperTest test suite.

impact_true HIGH
2 [Used languages and compiler options for compiling library] Incorrect linking of the object code when compiling a library

Incorrect linking of the object code.

The linking is only tested in scope of SuperTest and not independent of the used test suite.

impact_true HIGH
3 [Used languages and compiler options for compiling library] Incorrect parsing of the source code when compiling a library

Incorrect parsing of the source code.

The error can be tested with the SuperTest test suite.

impact_true HIGH
4 [Used languages and compiler options for compiling library] Wrong behavior caused by faulty optimization when compiling a library

Wrong behavior caused by faulty optimization of the code during compilation.

impact_true HIGH
5 [Used languages and compiler options for compiling library] Wrong behavior detectable by gcc test suite when compiling a library

Potential malfunctions which can be detected by executing the gcc test suite

impact_true HIGH
6 [Used languages and compiler options for compiling library] Wrong behavior due to compiler malfunction when compiling a library

When compiling source code to object code, malfunctions of the compiler can lead to a wrong result.

This can lead to a wrong output of the code or that the code does not behave in the intended way.

impact_true HIGH
Description:

Compile Program with the GCC compiler

When compiling the program, the configuration and the environment from the feature “Used languages and compiler options for compiling program” have to be used.

Safety-Impact: yes
Inputs:
  • C/H code:

    includes C Code files and headers

Outputs:
  • Binary Code:

    Binary Code

Features:
  • Used languages and compiler options for compiling program:

    Predefined Compiler Options and Language Subset for compilation of program

Potential errors:
# Error Safety-Impact Mitigations for detections/avoidance Final detection/avoidance probability
1 [Used languages and compiler options for compiling program] Incorrect compilation of the source code for a program

Incorrect compilation of the source code.

The error can be tested with the SuperTest test suite.

impact_true HIGH
2 [Used languages and compiler options for compiling program] Incorrect linking of the object code when compiling a program

Incorrect linking of the object code.

The linking is only tested in scope of SuperTest and not independent of the used test suite.

impact_true HIGH
3 [Used languages and compiler options for compiling program] Incorrect parsing of the source code when compiling a program

Incorrect parsing of the source code.

The error can be tested with the SuperTest test suite.

impact_true HIGH
4 [Used languages and compiler options for compiling program] Wrong behavior caused by faulty optimization when compiling a program

Wrong behavior caused by faulty optimization of the code during compilation.

impact_true HIGH
5 [Used languages and compiler options for compiling program] Wrong behavior detectable by gcc test suite when compiling a program

Potential malfunctions which can be detected by executing the gcc test suite

impact_true HIGH
6 [Used languages and compiler options for compiling program] Wrong behavior due to compiler malfunction when compiling a program

When compiling source code to object code, malfunctions of the compiler can lead to a wrong result.

This can lead to a wrong output of the code or that the code does not behave in the intended way.

impact_true HIGH
Description:

The QKit is a standard Validas QKit using QST and TAU that automatically executes the qualification tests in the user environment.

This Qkit is for the tool GCC compiler and two use cases are considered:

Compile Library

Compile Program

Details on the planning and tests are removed for confidentiality reasons.

Qualfication method:

VALIDAS_QKIT

Responsible

Available from Validas

Identifications:
Use Cases:
Description:

This testsuite contains tests for use cases described in the model

Flags: Has Requirements Based Tests , Has Negative Tests , Has Boundary Tests , Has Equivalence Tests , Has Error Guessing Tests
# tests: 74
Errors:
  • Incorrect compilation of the source code for a library
  • Incorrect compilation of the source code for a program
  • Incorrect linking of the object code when compiling a library
  • Incorrect linking of the object code when compiling a program
  • Incorrect parsing of the source code when compiling a library
  • Incorrect parsing of the source code when compiling a program
  • Wrong behavior due to compiler malfunction when compiling a library
  • Wrong behavior due to compiler malfunction when compiling a program
# Mitigation Detection/Avoidance probability Detected/Avoided errors
1 [Check] Execute and Analyze GCC testsuite

Verify that the GCC testsuite is executed and the results are as expected.

HIGH
  • Wrong behavior detectable by gcc test suite when compiling a library
  • Wrong behavior detectable by gcc test suite when compiling a program
2 [Check] Analyze used optimization options

Perform an analysis that the optimization options are triggered by the test suite. Compare the coverage of the test suite with the real world example.

HIGH
  • Wrong behavior caused by faulty optimization when compiling a library
  • Wrong behavior caused by faulty optimization when compiling a program