AlexDenisov / awesome-safety-critical

List of resources about programming practices for writing safety-critical software.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

awesome-safety-critical

This is a list of resources about programming practices for writing safety-critical software.

Disclaimer: I don't work on safety-critical software so the resources presented here are not necessarily authoritative documents on topic.

The starting point for me to create this resource was my interest in a solid software:

What kind of special training do engineers working on mission-critical software receive? [closed] and its followup on Reddit.

Standards

DO-178B, Software Considerations in Airborne Systems and Equipment Certification is a guideline dealing with the safety of safety-critical software used in certain airborne systems. Although technically a guideline, it is (or was) a de facto standard for developing avionics software systems. (Wikipedia)

IEC 61508 is an international standard published by the International Electrotechnical Commission of rules applied in industry. It is titled Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems (E/E/PE, or E/E/PES).

The ARINC Standards are prepared by the Airlines Electronic Engineering Committee (AEEC) where Rockwell Collins and other aviation suppliers serve as a contributor in support of their airline customer base. (Wikipedia)

Coding guidelines

Jet Propulsion Laboratory – scientific institution making a lot of research and development for NASA. JPL have been developing software for most of unmanned missions in the field of deep space and other planets exploaration. Their portfolio includes such famous missons as Curiosity Mars rover and Voyager probe which left solar system after 25 years of flight and still providing scientific information. High level of automatization and long duration of missions led to superior demands to software quality. As a result of JPL amazing experience a set of code guidelines was developed and published recently.

This document is based on the "C Style Guide" (SEL-94-003). It contains recommendations for C++ implementations that build on, or in some cases replace, the style described in the C style guide.

Questions and Answers

  • What is the difference between mission-critical and safety-critical software?

This article contains interesting section on what is the difference between mission-critical and safety-critical software: Military COTS-based systems: Not necessarily right off the shelf

  • What kind of special training do engineers working on mission-critical software receive?

See What kind of special training do engineers working on mission-critical software receive? [closed] and its followup on Reddit. In the Reddit thread there are 2 expanded answers.

  • What are the differences between DO-178B and DO-178C?

TODO

Other

Safety in Medical Device Software: Questions and Answers

Books

About

List of resources about programming practices for writing safety-critical software.