Saturday, April 16, 2016

It's a lot of work to demonstrate that self-driving cars will actually work properly. Testing alone is probably not going to be enough, and probably there will need to be some clever architectural approaches as well. Last week I gave a talk at the SAE World Congress in Detroit about this and related challenges.

Abstract:
Software testing is all too often simply a bug hunt rather than a well considered
exercise in ensuring quality. A more methodical approach
than a simple cycle of system-level test-fail-patch-test will be
required to deploy safe autonomous vehicles at scale. The ISO 26262
development V process sets up a framework that ties each type of
testing to a corresponding design or requirement document, but
presents challenges when adapted to deal with the sorts of novel
testing problems that face autonomous vehicles. This paper identifies
five major challenge areas in testing according to the V model for
autonomous vehicles: driver out of the loop, complex requirements,
non-deterministic algorithms, inductive learning algorithms, and fail operational
systems. General solution approaches that seem
promising across these different challenge areas include: phased
deployment using successively relaxed operational scenarios, use of a
monitor/actuator pair architecture to separate the most complex
autonomy functions from simpler safety functions, and fault injection
as a way to perform more efficient edge case testing. While
significant challenges remain in safety-certifying the type of
algorithms that provide high-level autonomy themselves, it seems
within reach to instead architect the system and its accompanying
design process to be able to employ existing software safety
approaches.

About Me

I've done embedded systems for big industry, the US military, startup companies, and now Carnegie Mellon University. I'm the author of the book Better Embedded System Software, which goes into more detail on most of the topics discussed in my corresponding blog.As with any blog, these posts often contain speculative and partially formed thoughts, and should not be interpreted as a fully considered opinion unless stated otherwise.Key pages:Academic home page at CMUEmbedded Software Blog Checksum and CRC Blog