Next year, you’ll be able to update your car with your favourite “mobile” applications in-car (Forbes, Smart-Car Wars). Once car makers start mixing their code with 3rd party developers, who is responsible when something goes wrong? It may be a human issue; how many rounds of frozen-bubble does it take to run off the road? It may be a software bug; the stereo suddenly roars to full-volume, scaring you into the next lane.
We’re not talking about some benevolent AI here, these applications are dumb. They may depend on the auto-makers API’s, where a unit conversion problem won’t cause your car to crash-land on Mars, but it might leave you stranded 40 miles from the nearest gas station.
Debugging in a controlled environment is difficult enough; how will application problems be determined after an accident? Do we install “black boxes” that monitor every action an application takes? An application may not, in itself, be the problem, but may trigger a long-dormant bug in the vehicle software. After all, there’s only a hundred-million lines of code, running in a modern auto (15 times more software than a Boeing 787 Dreamliner).
Then there’s the effect on the driver; did a rapidly flickering display initiate an epileptic seizure? Should the black-boxes store in-car video as-well?
Toyota’s lingering acceleration problem shows the difficulties a supplier has finding problems in their own systems.
Once a 3rd party application interacts with a vehicle, the lines are blurred. It’s not like a GPS stuck onto the dash; the app becomes an integrated part of the vehicle. Even if the vehicle maker sandboxes applications, problems are continually uncovered, and fixes have to be applied.
It’s reasonable to predict auto manufacturers will ultimately be held responsible for safely running this new class of applications. The applications will most likely have to be vetted (signed, tested, ..) for vehicle use. When the lawsuits start flying (and they will), the manufacturers are the only ones with pockets deep enough to litigate.