Developing Safety-Critical Software: A Practical Guide for Aviation Software and DO-178C Compliance
The amount of software used in safety-critical systems is increasing at a rapid rate. At the same time, software technology is changing, projects are pressed to develop software faster and more cheaply, and the software is being used in more critical ways. Developing Safety-Critical Software: A Practical Guide for Aviation Software and DO-178C Compliance equips you with the information you need to effectively and efficiently develop safety-critical, life-critical, and mission-critical software for aviation. The principles also apply to software for automotive, medical, nuclear, and other safety-critical domains.
An international authority on safety-critical software, the author helped write DO-178C and the U.S. Federal Aviation Administration’s policy and guidance on safety-critical software. In this book, she draws on more than 20 years of experience as a certification authority, an avionics manufacturer, an aircraft integrator, and a software developer to present best practices, real-world examples, and concrete recommendations.
The book includes:
- An overview of how software fits into the systems and safety processes
- Detailed examination of DO-178C and how to effectively apply the guidance
- Insight into the DO-178C-related documents on tool qualification (DO-330), model-based development (DO-331), object-oriented technology (DO-332), and formal methods (DO-333)
- Practical tips for the successful development of safety-critical software and certification
- Insightful coverage of some of the more challenging topics in safety-critical software development and verification, including real-time operating systems, partitioning, configuration data, software reuse, previously developed software, reverse engineering, and outsourcing and offshoring
An invaluable reference for systems and software managers, developers, and quality assurance personnel, this book provides a wealth of information to help you develop, manage, and approve safety-critical software more confidently.
Why Read This Book
You will learn how to take DO-178C from paper to practice: how to set up processes, produce certifiable artifacts, and run verification that stands up to certification authority scrutiny. The book combines regulatory insight from an author involved in DO-178C with pragmatic, example-driven guidance so you can reliably deliver safety-critical aviation software on real projects.
Who Will Benefit
Embedded software engineers, team leads, QA/verification engineers, and certification engineers working on aviation (or other safety-critical) software who need to produce DO-178C-compliant artifacts and processes.
Level: Advanced — Prerequisites: Solid experience with embedded software development (C/C++ or Ada), understanding of software development lifecycle and real-time systems, and familiarity with basic verification and configuration-management practices.
Key Takeaways
- Implement DO-178C life-cycle processes and map activities to certification objectives for different Design Assurance Levels (DALs).
- Establish and maintain requirements-to-code traceability and produce the artifact set auditors expect (plans, requirements, design, code, tests, and reports).
- Design and run verification activities including reviews, unit/integration testing, and structural coverage analysis (including MC/DC where required).
- Qualify development and verification tools per DO-330 and integrate model-based development workflows (DO-331) where applicable.
- Set up configuration management, change control, and problem reporting practices that support reproducible evidence for certification.
- Prepare for certification authority engagement: craft concise certification plans, present evidence, and respond to findings effectively.
Topics Covered
- 1. Introduction: Why Safety-Critical Software Is Different
- 2. Overview of Avionics Certification: DO-178C and Supporting Documents
- 3. Software Life-Cycle Processes and Planning
- 4. Software Requirements: Development and Management
- 5. Software Architecture and Design for Safety and Certifiability
- 6. Implementation and Coding Practices (C, C++, Ada considerations)
- 7. Verification: Reviews, Tests, and Static Analysis
- 8. Structural Coverage and MC/DC: Theory and Practice
- 9. Tool Qualification and Model-Based Development (DO-330 / DO-331)
- 10. Configuration Management, Change Control, and Problem Reporting
- 11. Integration, System Testing, and Certification Evidence
- 12. Working with Certification Authorities and Audit Preparation
- 13. Organizational Topics: QA, Process Improvement, and Assurance
- 14. Case Studies, Templates, and Practical Checklists
- Appendices: Glossary, References (ARP4754A/ARP4761), and Example Artifacts
Languages, Platforms & Tools
How It Compares
This book is more practical and implementation-focused than the DO-178C standard itself (which is normative); compared with broader safety-system texts like Nancy Leveson's Engineering a Safer World, Rierson's guide is prescriptive and certification-oriented rather than systems-theory-focused.













