It is arguable that cars are now computers with wheels and seating. Having such complete dependence on software has advantages, but there are risks as well. Designers and engineers face the ongoing battle to improve functionality while retaining the highest possible levels of safety for in-vehicle embedded software.
In practical terms, automotive teams must address all of the software-related concerns within the business constraints of the design. Engineers must consider cost, quality, safety, security, and competitive innovation, which add up to pressure in the face of increasing complexity.
The diversity of applications that now reside in car components makes it vital for all to work together, just when the difficulty of doing so has reached an unmatched level. The challenges of developing in-vehicle applications (IVA) divide roughly into three categories.
The Three Challenges For In-Vehicle Embedded Software
Defect reduction in high-risk code
Catching bugs in embedded code works best while still in the Integrated Development Environment (IDE). When development teams face pressure to write code most efficiently, the penalties for missed errors and bugs grow rapidly the further down the development process they are detected and rectified.
Delays and distractions can make the difference between success in coding and a loss to the company. Quality control that proactively catches coding errors as they occur or shortly after that can be the key to success in embedded code design and execution.
The factors for safety must stay within the norms and standards of the industry and significantly exceeding them is by far the preferable choice; it is better to blast through rather than just scrape past. Fortunately, in the automotive industry, the standards and benchmarks for code are well established and documented. The U.S. Department of Transportation, the IEEE, and others set and publish the standards that the industry relies upon to coordinate and update safety.
Along with standards and benchmarks, the concerns for security are complementary to the issues of safety. The Department of Transportation, the IEEE, The MITRE Corp, SAE International, and others collaborate to publish guidance on security.
Embedded applications require protection from the threats of malicious breaches. Standards for security along with concerted efforts to detect vulnerabilities, both by analyzing the code and through simulations, can reduce the attack surface area to a minimum. Event logs and analysis trace defects to their root causes.
Bringing In The Experts
In contrast to in-vehicle applications, programmers and engineers outside of the embedded development community also have experience with the issues that are now threatening in-vehicle apps; this is a knowledge base that can provide an excellent resource for developers of embedded software. Web developers, database developers and mobile app developers can add much to the in-vehicle applications community.
The rapid rate at which embedded apps are developing will demand all the help the community can get. However, the necessity of maintaining or even increasing the standards for safety, security, and error detection will keep in-vehicle embedded applications at a higher level of development for the foreseeable future.