High-integrity software
High-integrity software is software whose failure may cause serious damage with possible "life-threatening consequences". "Integrity is important as it demonstrates the safety, security, and maintainability of ... code." Examples of high-integrity software are nuclear reactor control, avionics software, automotive safety-critical software and process control software.
[H]igh integrity means that the code:
- Does what it should.
- Can be tested.
- Has security features.
- Lacks security vulnerabilities.
- Is easy to understand and follow logically.
- Is easy to edit and upgrade without introducing new errors.
A number of standards are applicable to high-integrity software, including:
- DO-178C, Software Considerations in Airborne Systems and Equipment Certification
- CENELEC EN 50128, Railway applications – Communication, signalling and processing systems – Software for railway control and protection systems
- IEC 61508, Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems (E/E/PE, or E/E/PES)
- ISO 26262, Road Vehicles – Functional Safety (especially 'part 6' of the standard, which is titled "Product development at the software level"