In the case of degraded mode replacement, this dead code can be of concern as the software is executing in a suspect environment. Whenever possible, the new load should overwrite the entire replaced set or be invoked in concert with a declassify and purge routine to ensure the old software is entirely replaced. Dead code is undesirable in most systems but is not specifically a safety concern. Keep in mind that although the implications of dead code should always be addressed, removal is not always practical or necessary. When elimination is deemed necessary, dead code must not be blindly removed from the software.
Disposition is required to ensure any underlying problems are resolved.
Identification and elimination of this code is best handled as a normal part of software development by the product development team under the guidance of the system safety team. Co-resident software is a reality in many systems and requires special safety considerations to ensure execution is adequately controlled. Hazard mitigation in co-resident code should be a normal part of system safety, with added emphasis on abnormal conditions and failure modes that might result in erroneous execution. About the Author William B. Rieger is a senior system safety engineer and the software safety focal point for the Boeing Defense and Space Group. He is responsible for program-level analysis activities as well as consultation and support to programs throughout the Boeing Company.