The controllers installed on the board of vehicles need software to fulfil the functionalities for that they have been designed. The controller has embedded software to decrease the complexity of the software installed and to eliminate the logic implemented with hardware (to reduce the hardware complexity).
The main characteristics of a software is the robustness and the reliability. To be in line with these two main characteristics is important to eliminate the software errors which are the main cause of the software failure.