Bringing Memory Safety to Time Critical Embedded Systems for Automotive and Industrial Systems
Cyber security has become an increasingly important aspect of IoT systems. When both Microsoft and Google have published studies that show that over 70% of security problems are caused by lack of memory safety, it is time for edge system developers to take note. Even the US White House has taken note. For edge systems which are not time-critical, there are already widely use means of ensuring memory safety. The wide use of Java and OSGi in home automation system is a good example. But for time-critical systems, convention Java does not cut it. However, advances in deterministic garbage collection and the soon to be released Realtime and Embedded Specification for Java provided and robust alternative with a large ecosystem. Rust is also a contender, but is of itself not a complete solution and requires full program analysis to work. Ensuring memory safety entails more than just managing objects in memory. This talk will cover what memory safety is, how in can be ensured, and what support is available for producing robust, dynamic, connected embedded systems while ensuring memory safety. Platforms such as immutable containers, Rust, Realtime Java, and adapting OSGi for Realtime Java will be discussed. How applicable safety standard apply will also be addressed.