Preventing Major Catastrophes, Severe Injuries, and Certain Death in Safety-Critical Software Systems
By Lori Cameron
Share this on:
Imagine a child lost in a national forest, missing for hours. Search and rescue professionals might scour the area by vehicle or foot, or fly a helicopter overhead in hopes of spotting the child. The limitations of such efforts are obvious—vehicle or foot searches can be painstakingly slow, while trees, brush, rocky terrain, and bodies of rushing water can impede progress. Helicopters, likewise, can only fly so low. Spotting the child depends on luck and how well the pilots can see.
Now, imagine a fleet of unmanned aerial vehicles (UAVs) or drones flying in formation, at any altitude or speed, recording visuals of the area. The chances of finding the missing child increase significantly.
The University of Notre Dame is working on the Dronology system, which is designed to do just that. The UAV system, however, is part of a larger initiative to develop improved standards for safety-critical systems—those in which malfunctions can lead to severe damage to property, serious injury, and even death. Safety-critical systems are used frequently in health monitoring, transportation, and—as evidenced by the Dronology project—search and rescue efforts.
Until recently, many researchers have performed rigorous, up-front hazard analyses of their safety-critical systems and discovered safety goals and requirements from which they develop an agile process only after specifying these requirements.
Other researchers, like Jane Cleland-Huang, professor of software engineering at the University of Notre Dame, propose a more robust agile approach to developing safety-critical systems that includes brainstorming and analyzing safety failures, testing the system thoroughly, and creating a detailed record that connects each safety failure directly to every measure taken to fix it.
“Safety processes typically include preliminary hazard analyses and safety assurance activities. I show how developers can use safety stories to improve safety processes. All my examples come from the Dronology system we’re developing at the University of Notre Dame. Dronology uses UAVs to support search-and-rescue missions,” writes Cleland-Huang in her article “Safety Stories in Agile Development,” which appears in the July/August 2017 issue of IEEE Software. (Login may be required for full text.)
“You need to convince yourself and potential certifiers that the system is safe for use. The underlying premise is that you must construct a convincing argument that the hazard analysis has been performed systematically and thoroughly and that the system as built effectively mitigates all important faults,” says Cleland-Huang.
Related research on safety-critical systems in the Computer Society Digital Library
Lori Cameron is a Senior Writer for the IEEE Computer Society and currently writes regular features for Computer magazine, Computing Edge, and the Computing Now and Magazine Roundup websites. Contact her at firstname.lastname@example.org. Follow her on LinkedIn.