Page 154 - Safety Risk Management for Medical Devices
P. 154

Software Risk Management  133


                   function?” One way to do this is to list the requirements of the software item and con-
                   sider how not meeting each requirement affects the software item’s intended function.
                      Software Failure Modes can have direct and/or indirect Causes. Direct Causes are
                   local to the software item at hand, and do not necessarily affect other software items.
                   Examples: incorrectly implemented algorithms, errors in input processing, and errors in
                   output processing of the software item. Indirect Causes include: stack overflow, unini-
                   tialized pointers, and race conditions. Indirect Causes are more unpredictable than
                   direct Causes. Other indirect Causes of software failures are: bit flips, low-power condi-
                   tion, or software sources such as operating systems, libraries, and SOUP.
                      Unlike DFMEA, SFMEA entries in the column “Causes/Mechanisms of Failure”
                   would not be things like aging, fatigue, or wear out. Items that go in the column
                   “Causes/Mechanisms of Failure” are external factors or systemic Causes. Since the
                   object of the analysis is a software item, the question would be: “what factors could
                   cause this software item not to perform its function?” For example, consider a software
                   item that is supposed to pressurize a tank to 10 psi and a pressure sensor provides the
                   tank pressure as input to the software item. If the pressure sensor input to the software
                   item is incorrect for any reason, the software item would fail to meet its function.
                      The entries in the “End Effect” columns would be the consequences of the
                   software item’s Failure Mode at the boundary of analysis. Boundary of analysis is
                   chosen by the analyst, and could be, e.g., a software subsystem, the entire software
                   system, or the medical device. If the scope of analysis is the software system (as a
                   component of the medical device), then the question is: “How would the Failure
                   Mode of the software item in question affect the behavior of the software system?” If
                   on the other hand the scope of analysis is the medical device, then the question would
                   be: “How would the Failure Mode of the software item in question affect the
                   behavior of the medical device?” Local Effects are not visible from outside the bound-
                   ary of analysis but are noteworthy because they may cascade into other End Effects. It
                   is possible that there would not be any Local Effect.
                      Determination of whether the software Failure Mode has a Safety Impact can only
                   be made at the System (medical device) level. In the hierarchical multilevel FMEAs
                   this can be known only after the integration of the FMEAs into the System DFMEA.
                   But it may be possible to make some estimations of the Safety Impact in advance. For
                   example, if it is certain that the Failure Mode would lead to one of the Hazards in the
                   Clinical Hazards List, it would be a good guess that the Safety Impact will end up
                   being Y. Another way to estimate the Safety Impact of a Failure Mode is if it would
                   violate a System requirement which is tagged as Safety.
                      If the Safety Impact of the Failure Mode cannot be determined in advance, you
                   can set the Safety Impact to N as a generic setting and use the “No-Safety Impact”
                   column in the Ratings tab of the template to determine the Severity rating. As the
                   SFMEA is a living process and goes through an iterative process, when the FMEAs
                   are rolled up to the System DFMEA, it will become apparent whether a given Failure
   149   150   151   152   153   154   155   156   157   158   159