Skip to main content Skip to main navigation Skip to search Skip to footer

Best Practices from Safety Standards for Creation of Robust and Reliable Software

Best Practices from Safety Standards for Creation of Robust and Reliable Software

Abstract

Mission-critical software has become very reliable and robust by adhering to high quality safety standards in the development lifecycle. An example of mission-critical software, also called “safety critical,” is the software implemented in passenger aircraft, or in control systems operating nuclear and chemical plants. Safety critical software includes those applications whose malfunction can cause multiple deaths. Conventional software applications, i.e. applications that are not critical and more commonly used, can be made as robust and reliable as mission-critical software by following the simple best practices required for mission-critical software with very little or no additional effort. Though there are mandatory procedures prescribed by safety standards that can require significant additional effort, the focus of this paper is to highlight practices that can be implemented in any project with very little additional effort. By that process, every software implemented can achieve a very low probability of failure. Also, it becomes easier for organizations that develop software, be it software service providers or OEMs, to easily adhere to an ever-expanding list of safety standards across domains. In fact, for organizations already practicing CMMi standards, the migration to robust software development is not a major upgrade. This paper describes the best practices that can be adopted in each of the major development cycle milestones, including requirements, design, coding and testing. These are considered from a safety standpoint, and are not intended to describe the software lifecycle.

Excerpts from the Paper
When creating software, it is the goal of any organization to make the software robust, defect-free and less prone to failure. But, even with software processes in place, software does crash, much to the displeasure of end users. Today, organizations release software for use after adequate testing, when defects are minimal or trivial, and after defect density is stabilized, Despite that, they cannot provide a guarantee on the probability of software failure or the possibility of a defect surfacing during operation. Safety standards focus on these issues, and attempt to ensure that software is reliable. Almost all safety standards classify developed software into 3 or 4 levels, depending of the level of  reliability. Note: safety-critical software must comply with stringent basic requirements, even to be classified at the lowest levels.

 

DOWNLOAD THE WHITEPAPER

Contact Us
MAX CHARACTERS: 10,000

We will treat any information you submit with us as confidential. Please read our privacy statement for additional information.

We will treat any information you submit with us as confidential. Please read our privacy statement for additional information.