# V3524. AUTOSAR. The value of uninitialized variable should not be used.

This diagnostic rule is based on the software development guidelines developed by AUTOSAR (AUTomotive Open System ARchitecture).

If a variable of a POD type isn't initialized explicitly and doesn't have an initializer by default, its value will be undefined. Usage of such value will lead to undefined behavior.

Simple synthetic example:

    int Aa = Get();
    int Ab;
    if (Ab) // Ab - uninitialized variable
      Ab = Foo();
    else
      Ab = 0;

Usually errors of using uninitialized variables occur through misprints. For example, it may appear that a different variable should be used in this place. Correct code variant:

    int Aa = Get();
    int Ab;
    if (Aa) // OK
      Ab = Foo();
    else
      Ab = 0;

This diagnostic is classified as:

AUTOSAR-M8.5.1