August 18, 2017 By: Shrikant Deshmukh
The integration of automotive software solutions on cars has added computer-like specs to cars. The digitization of vehicles has enhanced performance, efficiency and convenience. However, software failures pose a huge challenge to the automotive industry. Automotive software developers can prevent such failures by adhering to the best practices and using appropriate tools in software development.
Cars have evolved from being predominantly analog systems to digital ones, thanks to advancements in software technology. Automotive software solutions offer customers efficiency and convenience.
However, there have been cases of software failure across the globe. While some had subtle effects, others were fatal. The reality is software failure can be prevented with the right software development tools and practices.
The cost of software failure is hefty for car owners, car dealers and the manufacturing company. In 2015, Toyota lost billions of dollars in car recalls as a result of software failures.
Besides, lives have been lost as a result and fatal accidents occurred because of such bugs. According to a report by the US National Highway Traffic Safety Administration (NHTSA), there has been a significant increase in the number of software-related recalls in the last 5 years.
Cases of Automotive Software Failure
2014 manufactured Toyota Lexus that was launched in the market in 2016, recorded system failure of the Enform system. Enform System is an advanced infotainment and navigation system.
The Enform System experienced sudden failure after being updated Over the Air (OTA). Its crash caused a system startup loop so that the ignition system kept restarting itself and would only go off once the battery was disconnected.
Tips for Avoiding Software Failure in the Automobile Industry
Although the current vehicles require more sophisticated and complex automotive software, there are some measures that can be taken to prevent software bugs.
- Applying a rigorous software development process. Successful software development involves using the best tools, consistent testing and retesting at every stage and a stringent verification and validation process. Software such as ASL is designed to help in enhancing precision and accuracy in developing complex software such as automotive software. Consistent testing allows the software developers to detect bugs early.
- Designing software for maximal hardware-software integration. Software developers must keep in mind that the software will not work on its own, but rather in the context of the car hardware. All design processes must aim for the efficiency of the software integration on the hardware.
- Vetting component suppliers. It is crucial for an automotive maker to vet their component supplier to ensure they apply standard practices and best tools in the software design. Car makers should vet their software suppliers to establish their credibility and reputation.
- Designing main program controller software. Usually, the automotive software will detect hardware failures but the hardware is not able to detect software failures beforehand. Software developers can design second software that is embedded on the main software, whose main purpose is to monitor the main program and detect performance consistencies.
Indeed, Automotive software solutions have enhanced car performance, comfort, and features. However, there are global concerns on the safety of automotive software failures. As evidenced, some car manufacturers and software developers have incurred billions in losses due to software failures. However, such failures can be prevented by adhering to the best software development standards and practices.