Software Certification of Safety-Critical Avionic Systems
Software Certification of Safety-Critical Avionic Systems
Software Certification of Safety-Critical Avionic Systems
net/publication/276153236
CITATIONS READS
31 18,814
4 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Wonkeun Youn on 18 March 2021.
T
he rapid growth in the use of software in airborne systems and mal methods, and object-oriented technologies.
equipment in the early 1980s resulted in a need for industry- Thus, the FAA and representatives of the aviation industry
accepted guidance for satisfying airworthiness requirements initiated a discussion with RTCA regarding the advances in soft-
[1]. To assure the reliability of the software and to ultimately en- ware technology since the guidance’s release in 1992. In Decem-
sure the safety of passengers, the U.S. Federal Aviation Admin- ber 2004, RTCA and the European Organisation for Civil Avia-
istration (FAA) has imposed software certification suited to the tion Equipment (EUROCAE) decided that DO-178B should be
development of safety-critical systems. The FAA has accepted updated to reflect the many advances in software engineering that
guidelines developed by the Radio Technical Commission for had been made since 1992 [8]. Thus, a joint RTCA Special Com-
Aeronautics (RTCA) that respond to the necessity of reliability mittee (SC-205) and EUROCAE Working Group (WG-71) were
and safety, which are vital in this field: DO-178B/EUROCAE established to prepare DO-178C. This joint group began meet-
ED-12B (DO-178B), titled Software Considerations in Airborne ing in March 2005 and completed its work in November 2011.
Systems and Equipment Certification [1]. DO-178B prescribes DO-178C and other supplementary documents received official
design assurance guidance for airborne software. The aim of DO- regulatory authority approval by the FAA in July 2013.
178B is to assure that software developed for avionics systems is Although a number of studies have explored software and
reliable and safe to use in flight [2]. hardware guidelines [9] [10], few studies have reviewed the simi-
Since its release, DO-178B has enjoyed widespread accep- larities and differences between DO-178B and DO-178C. One of
tance and has been the primary means for receiving regulatory the reasons for the high development costs of avionic systems
approval for using software on commercial aircraft [3]. Despite complying with DO-178B/C may be a lack of sufficient under-
frequent criticisms of the guidelines, there is strong empirical evi- standing of how to implement the guidance efficiently. Thus, it is
dence that it has been successful [4]. For instance, no hull-loss important to understand DO-178B/C and how to change avionic
accidents have been ascribed to software developed under DO- systems to effectively manage the processes required by these
178B. Software developed under DO-178B has been a significant standards; this understanding will minimize the development cost
contributing factor in only a small number of accidents and in- while ultimately ensuring the integral safety of the avionics.
flight upsets [5], [6]. Therefore, this article presents an overview of the new guide-
However, there have been strong calls by the aviation industry lines for safety-critical airborne software contained in DO-178C
for clarification or refinement of the key DO-178B concept due and supplementary documents. The similarity between DO-
to its relative ambiguity and flexibility [7]. Moreover, the rapid 178B and DO-178C is presented by reviewing the basics of DO-
advance in modern software technology has resulted in software 178 verification philosophy, and an overview of the major new
development and verification technologies and methods that were guidance in DO-178C is presented to highlight what has been
not adequately covered in DO-178B, and the effectiveness of changed, along with a description of the impact of DO-178C on
DO-178B has become questionable as the size and complexity of the industry. The remaining sections of the article provide a dis-
modern avionic software increase. For instance, DO-178B makes cussion of the new guidelines in the supplementary documents:
DO-330 to DO-333.
Table 1.
FAR/JAR failure-
Level System failure Description probability definition
(P = probability)
A Catastrophic Failure may cause multiple fatalities, usually with P < 10−9
loss of the airplane
B Hazardous/ Failure has a large negative impact on the safety 10−9 < P < 10−7
severe-major or performance, reduces the ability of the crew to
operate the aircraft, or has an adverse impact upon
the occupants
C Major Failure results in a significant reduction in safety, 10−7 < P < 10−5
significantly increases the crew’s workload, and may
cause discomfort to the occupants
D Minor Failure slightly reduces the safety margin or 10−5 < P
increases the crew’s workload and causes an
inconvenience for the occupants
E No effect Failure has no effect on the safe operation of the N/A
aircraft
categories according to their effects on the aircraft, crew, and pas- contained in the supplementary documents and discussed in later
sengers: catastrophic, hazardous/severe-major, major, minor, and sections of this article. The subsections here highlight some of the
no effect [11], [12]. DO-178C guidance then determines five as- new guidance contained in the DO-178C core document.
surance levels, which relate to the above categorization of failure
conditions (Levels A–E), with Level A denoting the most rigor-
ous (on which the most rigorous objectives were set) and Level E
GENERAL: GAPS AND CLARIFICATIONS
denoting the lowest level (on which no objectives were set). The DO-178C addresses known issues regarding errors and inconsis-
number of objectives to be satisfied (some with independence) tencies, addressing the errata of DO-178B and removing incon-
is determined by the software level. More detailed information, sistencies across the tables of DO-178B Annex A [8]. Also, DO-
including the safety conditions corresponding to these assurance 178C provides more precise, clearer language and terminology
levels and Federal Aviation Regulation/Joint Aviation Require- standardization throughout the document. In addition, DO-178C
ments (FAR/JAR) failure probability, is given in Table 1. added hyperlinks to the document in Annex A to objectives and
Like DO-178B, coverage of DO-178C refers to the degree life cycle data, for better usability, and the so-called hidden ob-
to which it can be proved that the verification activities cover jective of DO-178B in Annex A (objective 9 of Table A-7 and
all requirements, code structures, and object codes [8]. DO-178C objective 1 of Table A-9). DO-178C address clear gaps in DO-
divides coverage into two types: requirement-based coverage 178B and addresses clarification of the guidance that was subject
and structural coverage. Requirement-based coverage analyzes to differing interpretations in DO-178B [8]. Examples of hidden
the software test cases to confirm that they provide proof that all objectives include the following:
requirements have been satisfied. Structural coverage is met by
✓✓Verification of additional code that cannot be traced to
proving that the test cases execute all code statements and that all
source code is achieved (objective 9 of Table A-7).
data coupling and control paths have been tested.
✓✓Assurance is obtained that software plans and standards
are developed and reviewed for compliance with this docu-
COMPARISONS BETWEEN DO-178B AND DO-178C ment and for consistency (objective 1 of Table A-9).
Since the main structure and content of DO-178C are essentially Examples of gaps addressed include the following:
the same as those seen in DO-178B, the utility of this similarity
✓✓The modified condition/decision coverage definition has
is to make DO-178C backward-compatible with DO-178B by de-
been changed to support masking and short circuit, as well
sign. This means that existing software that has been previously
as unique cause.
approved under DO-178B can also be approved under DO-178C.
Although DO-178C keeps most of the DO-178B guidance, several ✓✓Derived requirements should be fed into all system pro-
distinct improvements clarify or update DO-178B and reflect the cesses, including the system safety assessment process,
many advances in software engineering since 1992. The major new rather than just provided to the system safety assessment
guidance, additions, and modifications introduced in DO-178C are process.
Table 2.
DO-178B DO-178C
Software level Change
(objective/independence) (objective/independence)
Examples of clarifications include the following: sections contained in DO-178C describing the software planning
process, software development process, integral process, and
✓✓Structural coverage analysis of data and control coupling
overall verification activities to be performed are generally the
between code components should be performed by evaluat-
same as those presented in DO-178B.
ing the results of the requirement-based tests (6.4.4.2.c).
The applicant should submit software data produced during
✓✓All tests added to achieve structural coverage are based on the life cycle to demonstrate compliance with DO-178C (summa-
requirements (6.4.4.2.d). rized in Table 3). There are 22 life cycle data items in DO-178C
and 20 items in DO-178B. In general, the life cycle data items of
✓✓Deactivated code design consideration to the design guid- DO-178C are identical to those of DO-178B except for two new
ance section (5.2.4) and the handling method in one of two life cycle data items. However, there are several distinct life cycle
ways, depending upon its defined category, has been clari- process/data differences. The subsections below highlight some
fied (6.4.4.3.d). of the new or modified guidance associated with software life
cycle process/data.
Table 4. Table 5.
Tool Qualification in DO-178B and DO-178C Tool Qualification Level Determination of DO-178C
the quality assurance activities. TQL-4 (A special category that create it and to gather evidence that the model is accurate, consis-
has no equivalence to a DO-178C software level) provides less tent, and compatible with all system-level, high-level, and low-
stringent satisfaction of the tool planning process, the tool devel- level requirements [16]. In order to gain certification credit for
opment process, and the verification of outputs. TQL-5 further simulation, DO-331 requires that the applicant clearly show what
relaxes the requirements by requiring no tool development pro- reviews and analyses are needed to satisfy the model verification
cess, verification tool requirement process, integration process, or objectives. The analyses must show that simulation cases exist
testing of tool outputs. for each model requirement and that these simulations address
DO-330 requires that a tool operational requirements (TOR) both normal range and robustness test inputs. Verification of the
document be written to specify the requirements of how the tool executable object code is encouraged to be primarily performed
will be used within the software life cycle. The requirements set by testing in the target computer environment.
forth in the TOR are required to be verified and validated. The DO-331 recommends that software models be developed to
structure and content of DO-330 are similar to those of DO-178C standards that define the modeling techniques, constraints, and
in many respects, but DO-330 has its own set of objectives. DO- instructions used to build the models [16]. The software model
330 also recommends the same software development life cycle standards should specify the methods and tools used to develop
process as those specified in DO-178C but references the TOR the models. In addition, the software model standards should in-
rather than system requirements. The tool requirements are, in clude identification of modeling language to be used and any lan-
turn, developed from the TOR and are then used to develop the guage syntax, semantics, features, and limitations. The software
tool architecture and low-level requirements. The verification of model standards should state the level of traceability between
the tool design process, the tool coding process, and the tool inte- requirements and other life cycle data. The software model stan-
gration process are essentially similar to those presented in DO- dards should also specify any constraints on the use of modeling
178C. Like DO-178C, DO-330 requires bidirectional traceability tools and model supporting libraries.
between requirements and code.
OOT and Related Techniques (DO-332)
Model-Based Development and Verification (DO-331)
The objective of DO-332 was to provide guidance on the use of
In DO-331, a model is defined as follows: “an abstract represen- object-oriented programming languages that use concepts such
tation of a given set of aspect of a system that is used for analy- as inheritance, polymorphism, overloading, type conversions, ex-
sis, verification, simulation, code generation, or any combination ception management, dynamic memory management, virtualiza-
thereof” [16]. DO-331 defines two types of models, specification tion, and other concepts not in common, universal usage at the
models and design models, and it makes a distinction between time DO-178B was developed [17]. The distinguishable feature
requirements for specification models and those for design mod- of OOT is the use of classes to define objects, along with the abil-
els. Specification models represent high-level software require- ity to create new classes via subclassing. In DO-332, a class de-
ments to state the model functional, performance, interface, and fines attributes, methods, relationships, and semantics that share
safety characteristics of a software component. Design models a common structure and behavior representative of a real-world
use primarily low-level requirements and software architecture entity. The main difference between DO-332 and DO-178C can
specifications to represent internal data structures, data flow, be summarized as follows.
and control flow. In either case, DO-331 requires that the mod- In the planning process of DO-332, three activities are add-
els specify the configuration items, modeling techniques, model ed to the DO-178C planning process. First, any planned use of
element libraries, interface descriptions, configuration items, and virtualization and its associated executable program should be
model development environment. Traceability among the design described in the plans. Second, if component reuse is planned,
model, low-level requirements and the model code is required. the plan should explain how the component will be integrated
There should be no model code that cannot be traced back to low- with the new development. Third, the plans and standard should
level requirements. describe how the vulnerabilities (DO-332 Annex OO.D) will be
In DO-331, model coverage analysis is defined as follows: “An addressed.
analysis that determines which requirements expressed by design In the development process of DO-332, some OOT-specific
model were not exercised by verification based on the requirements development guidelines, including class hierarchy, type consis-
from which the design model was developed” [16]. The objective tency, memory management, exception management, and deac-
of model coverage analysis is to discover unintended function and tivated functionality, are added to the DO-178C development
requirements contained in the model that were not exercised by process. For instance, DO-332 recommends that the class hierar-
verification test cases. DO-331 recommends that model coverage chy used should be based on high-level requirements and verified
be shown for all state machine transitions, logic equation decisions, for consistency. A locally type-consistent class hierarchy should
numeric data equivalence classes (and boundary data), and derived be developed with associated low-level requirements wherever
requirements. Model coverage analysis should be performed using substitution of types happens. DO-332 also calls for the software
requirement-based verification test cases. development process to include a plan of strategy for dynamic
In DO-331, model simulation may be used to satisfy some of memory management and exception management. DO-332 states
the DO-331 verification objectives. The purposes of model simu- that bidirectional trace data should exist to show traceability be-
lation are to verify that the model meets the requirements used to tween requirements and methods, since all functionality is imple-
mented in methods in object-oriented programs. In addition, a A formal analysis is “the use of mathematical reasoning to
requirement that traces to a method in a class should also trace to guarantee that properties are always satisfied by a formal model”
the method in its subclasses. [18]. The main differences between DO-178C and DO-333 are in
In the verification process of DO-332, three activities are the area of verification. Since formal analysis has the ability to
added or modified to ensure (1) verification of class hierarchy prove the correctness of a formal model, the review, analysis, and
for consistency with requirements, (2) local type consistency, (3) test objective of DO-178C may be replaced by formal analysis.
verification of the memory management system for consistency For example, DO-333 does not require all requirements of a for-
with the strategy defined in the software architecture, and (4) mal model to be formally expressed. However, if the high-level
verification of the exception management system for consistency requirements and low-level requirements are both formally mod-
with the strategy defined in the software architecture. In addition, eled, the formal analysis can be used to show compliance.
normal-range testing should be performed to ensure “class con- Formal methods were briefly introduced in DO-178B as al-
structors properly initialize the state of their objects and that the ternative methods, but the guidance was somewhat vague and
initial stage is consistent with the requirements for the class” [17]. no explicit provisions were provided. Since formal methods
In DO-332, vulnerabilities analysis (Annex OO.D) should be may find faults that are not detected by testing, formal meth-
address to clarify issues related to the feature of new language ods are complementary to testing. Thus, formal methods can
and to potential complications encountered with satisfying well- increase confidence that no anomalous behavior will occur.
established safety objectives. Vulnerabilities analysis is divided Since formal methods cannot establish verification evidence for
into two categories: key feature and general issues. The vulner- the target hardware, DO-178C still requires software/hardware
ability analysis for key feature includes inheritance, parametric integration testing to be performed to ensure that code works
polymorphism, overloading, type conversion, exception manage- correctly on the target.
ment, dynamic memory management, and virtualization. The vul-
nerability analysis for general issues is not directly related to any
object orientation–specific feature and thus consists of integral DISCUSSION
issues that should always be considered regardless of the features
DO-178 is designed to be flexible and allow for various devel-
used in the project. The vulnerability analysis for general issues
opment methods as long as they can show compliance with the
explain how traceability, structural coverage, component usage,
objectives of DO-178. However, DO-178B contains ambiguities
and resource analysis may be complicated by a number of factors
that could be misinterpreted by the applicant due to lack of ap-
inherent in object orientation and provides additional guidance to
plicant understanding. This may result in the applicant failing to
consider when using OOT and related techniques [17].
meet some of the DO-178B objectives. In addition, compliance
with DO-178 guidelines in software development is often consid-
Formal Methods (DO-333)
ered as contributing to the high expense of commercial aviation
DO-333 defines formal methods as “descriptive notations and systems because DO-178 requires rigorously iterative processes
analytical methods used to construct, develop and reason about and extensive documentation throughout the entire software life
mathematical models of system behavior. A formal method is a cycle. Although applicants who have used DO-178B in the past
formal analysis carried out on a formal behavior” [18]. The objec- may still be able to use the same means of compliance for cer-
tive of the supplement is to provide additions to and modification tification projects, upgrading applicants’ process to DO-178C is
of the DO-178C objectives, activities, explanatory text, and soft- highly recommended [20]. New applicants or developers who
ware life cycle data that apply when formal methods are used as are establishing software life cycle processes should do so in
part of the software life cycle. Formal methods are usually only accordance with DO-178C. Thus, it is important to understand
used in the development of safety, business, and mission critical the changes between DO-178B and DO-178C and their effects
software where the cost of faults is high. to effectively manage the processes required by these guidelines,
Formal methods are composed of two types of activities, for- minimize development costs, and ultimately assure the integral
mal modeling and analysis, and they may be applied at various safety of entire avionic systems.
stages in software development and used as a verification tech- Compared to DO-178B, DO-178C and its supplements some-
nique [19]. A formal model is “an abstract representation of a giv- what reduce the extent of this confusion and hence allow a more
en set of aspects of a system that is used for analysis, simulation, consistent approach to developing and certifying safety-critical
code generation, or any combination thereof. A formal model is software. Also, it was demonstrated that the process defined by
a model defined using formal notation” [18]. Formal modeling DO-178C became more clarified and detailed, the average number
represents system abstraction with unambiguous, mathematically of requirements increased, the entire scope was expanded, and the
defined syntax and semantics, and it can be used for analysis, variety of software development methods increased. More spe-
simulation, and code generation. The formal models may be cifically, DO-178C acknowledged that one or more technology-
graphical (e.g., state machine diagrams), differential equations, specific supplements may be used in conjunction with DO-178C
or computer languages. Because formal notations are precise and to modify the guidance for specific techniques. Thus, DO-178C
unambiguous, they can be used to assist verification by helping to provides a more formal, more prescriptive approach for qualify-
show accuracy and consistency in the representation of require- ing formal methods and model-based tools and for verifying the
ments and life cycle data. capabilities of object-oriented languages.
However, there are a number of potential challenges when im- and detailed, the number of requirements increased, the scope
plementing the technology in DO-178C supplements. Although was expanded, and the variety of software development methods
formal methods offer a number of potential benefits, including an increased.
improved requirements definition, reduced errors, and maintain- Although it was impossible to provide every detail of DO-
able software, formal methods have rarely been used in the civil 178C within the scope of this article, it is hoped that the compre-
aviation field due to their limitations [21]. For instance, formal hensive information herein, along with a description of the impact
methods are not applicable to all problems, and there are still of DO-178C, will help applicant to reduce potential compliance
many project-by-project issues to be solved. Furthermore, it can problems, minimize development costs, and ultimately assure the
be highly challenging to combine formal and traditional nonfor- integral safety of avionic systems. The reader requiring specific
mal methods in one project. Thus, DO-331, of all DO-178C sup- information must download these documents from RTCA in order
plements, will likely be the most challenging to apply, especially to fully appreciate and apply the new guidance.
when trying to apply the guidance to existing models. Likewise, To the best of our knowledge, there have been a few stud-
OOT and model-based development and verification technology ies exploring software and hardware guidelines [9], [10], but few
are appealing technology to the aviation industry for several rea- studies have reviewed the similarities and differences between
sons, including strong tool support, availability of programmers, DO-178B and DO-178C or described the impact of DO-178C on
perceived cost savings, and potential for reusability, but they have the industry. Therefore, this study has significant implications in
not been extensively used in aviation fields to date due to limita- terms of demonstrating an overview of and the similarities and
tions not seen with the traditional techniques. Above all, there differences between DO-178B and DO-178C, along with the im-
is no abundance of the technology among DO-178C supplement pacts of DO-178C; this article may serve as a useful entry point
practitioners, so this can be a barrier to successful use of the tech- for those unfamiliar with DO-178C to understand the rationale
niques. and clues behind this new certification guidance for airborne soft-
Therefore, implementing a new technology described in DO- ware certification.
178C supplements for the first time can be a minefield of unex-
pected challenges and thus requires careful applicants [21]. In ad-
dition, since the technology described in DO-178C supplements
REFERENCES
is still relatively new in the aviation field, the certification author- [1] Software Considerations in Airborne Systems and Equipment Certifi-
ity will be more cautious with any new technology and tend to cation. RTCA document DO-178B, 1992.
oversee it closely. It is the responsibility of the applicant to ensure [2] Dodd, I., and Habli, I. Safety certification of airborne software: an
that a supplement’s use is acceptable to the appropriate certifica- empirical study. Reliability Engineering & System Safety (2011).
tion authority. Therefore, coordination should be established with [3] Kornecki, A., and Zalewski, J. Software certification for safety-critical
the certification authority as early as possible to gain agreement systems: A status report. In Proceedings of the IEEE, 2008, 665–672.
on the means of compliance for successful certification. Never- [4] Holloway, C. Towards understanding the DO-178C/ED-12C assur-
theless, the new technology described in DO-178C supplements ance case.
offers a number of potential benefits, as discussed above, so a [5] Daniels, D. Thoughts from the DO-178C committee. In Proceedings
number of applicants have recently initiated their project by using of the 6th IET International Conference on System Safety, 2011, 1–7.
the technology in the supplements and have received the certifica- [6] Youn, W., and Yi, B.-J. Software and hardware certification of safety-
tion credit. As experience and the technology mature, the benefits critical avionic systems: a comparison study. Computer Standards &
will likely increase. In addition, it can be expected that as the Interfaces, Vol. 36 (2014), 889–898.
use of software increases, technology evolves, and experience is [7] Kornecki, A., and Zalewski, J. Certification of software for real-time
gained in the application of DO-178C and its supplements, there safety-critical systems: state of the art. Innovations in Systems and
may be some additional certification authority guidelines in the Software Engineering, Vol. 5 (2009), 149–161.
near future to clarify development and verification issues. [8] Software Considerations in Airborne Systems and Equipment Certifi-
cation. RTCA document DO-178C, 2011.
[9] Kornecki, A. J., and Zalewski, J. Hardware certification for real-time
CONCLUSION safety-critical systems: state of the art. Annual Reviews in Control,
This article provides a practitioner’s comprehensive view of the Vol. 34 (2010), 163–174.
new DO-178C standard and its supplements. The aim of this [10] Hesselink, H. A comparison of standards for software engineering
article is to help those unfamiliar with DO-178C to gain clear based on DO-178B for certification of avionics systems. Microproces-
understanding of the scope of the information contained in the sors and Microsystems, Vol. 19 (1995), 559–563.
nearly 1,000 pages. The similarities and differences between [11] Guidelines for Development of Civil Aircraft and Systems. SAE Inter-
DO-178B and DO-178C, along with the related supplementary national document ARP4754A, 2010.
documents, have been extensively described in various aspects. [12] Guidelines and Methods for Conducting the Safety Assessment Pro-
This article also describes how they will affect the applicant’s cess on Civil Airborne Systems and Equipment. SAE International
organization, focusing on the practical implications of the many document ARP4761, 1996.
changes between DO-178B and DO-178C. It can be summarized [13] Yan, F. Comparison of means of compliance for onboard software cer-
that the process defined by the standards became more clarified tification. In Proceedings of the IEEE, 2009, 917–920.
[14] Software Tool Qualification Considerations. RTCA document DO- [18] Formal Methods Supplement to DO-178C and DO-278A. RTCA doc-
330, 2011. ument DO-333, 2011.
[15] Kornecki, A., Butka, B., and Zalewski, J. Software tools for safety- [19] Gigante, G., and Pascarella, D. Formal methods in avionic software
critical systems according to DO-254. Computer, Vol. 41 (2008), certification: the DO-178C perspective. In Leveraging Applications of
112–115. Formal Methods, Verification and Validation. Applications and Case
[16] Model-Based Development and Verification Supplement to DO-178C Studies. Springer, 2012, 205–215.
and DO-278A. RTCA document DO-331, 2011. [20] Airborne Software Assurance. FAA document AC 20-115C, 2013.
[17] Object-Oriented Technology and Related Techniques Supplement to [21] Rierson, L. Developing Safety Critical Software. Boca Raton, FL:
DO-178C and DO-278A. RTCA document DO-332, 2011. CRC Press, 2013.