Wednesday, November 14, 2018
Bryan Choi has posted to SSRN Crashworthy Code. The abstract provides:
Code crashes. Yet for decades, software failures have escaped scrutiny for tort liability. Those halcyon days are numbered: self-driving cars, delivery drones, networked medical devices, and other cyber-physical systems have rekindled interest in understanding how tort law will apply when software errors lead to loss of life or limb.
Even after all this time, however, no consensus has emerged. Many feel strongly that victims should not bear financial responsibility for decisions that are entirely automated, while others fear that cyber-physical manufacturers must be shielded from crushing legal costs if we want such companies to exist at all. Some insist the existing liability regime needs no modernist cure, and that the answer for all new technologies is patience.
This Article observes that no consensus is imminent as long as liability is pegged to a standard of “crashproof” code. The added prospect of cyber-physical injury has not changed the underlying complexities of software development. Imposing damages based on failure to prevent code crashes will not improve software quality, but impede the rollout of cyber-physical systems.
This Article offers two lessons from the “crashworthy” doctrine, which was pioneered in the late 1960s in response to a rising epidemic of automobile accidents, and which helped push rapid improvements in crumple zones, seat belts, and other critical safety features. The first is that tort liability can be metered on the basis of mitigation, not just prevention. When code crashes are statistically inevitable, cyber-physical manufacturers may be held to have a duty to provide for safer code crashes, rather than no code crashes at all. Second, a shift to crashworthiness allows both engineers and lawmakers to focus heightened scrutiny on a narrower subset of code, i.e., only those modules necessary to handle fault tolerance. Requiring all code to be perfect is impossible, but demanding some code to be closer to perfect is feasible.
Crashworthy code solves the paralysis of the crashproof mindset, by reframing the software liability problem in terms that engineers can readily undertake.