Abstract This tutorial provides a practical approach to assessing modifiedconditiondecision coverage (MC/DC) for aviation software productsthat must comply with regulatory guidance for DO-178B level Asoftware. The tutorial's approach to MC/DC is a 5-step process thatallows a certification authority or verification analyst to evaluateMC/DC claims without the aid of a coverage tool In addition to theMC/DC approach, the tutorial addresses factors to consider in selectingand qualifying a structural coverage analysis tool tips for reviewing lifecycle data related to MC/DC, and pitfalls common to structural coverageanalysis. 1 Background and Purpose The RTCA/DO-178B document Software Considerations in Airborne Systems and EquipmentCertification is the primary means used by aviation software developers to obtain Federal AviationAdministration (FAA) approval I of airborne computer software (ref. 1, 2). DO-178B describes softwarelife cycle activities and design considerations, and enumerates sets of objectives for the software life cycleprocesses. The objectives applicable to a given piece of software are based on the software leveldetermined by a system safety assessment. The objectives serve as a focal point for approval of thesoftware.This tutorial concerns one particular objective in DO-178B: objective 5 in Table A-7 of Annex A.This objective, which is applicable to level A software only, requires that tests achieve modifiedcondition/decision coverage (MC/DC) of the software structure. The purpose of the tutorial is to providesufficient information upon which a diligent person may build a strong working knowledge of how tomeet the MC/DC objective, and provide a means to assess whether the objective has been met<1.1 Scope of the TutorialThis tutorial provides a broad view of MC/DC, concentrating on practical information for softwareengineers. Topics include the role of MC/DC within the verification process described in DO-178B, therationale for the MC/DC objective, a pragmatic approach for manually evaluating MC/DC, and an aid forassessing an applicant's MC/DC program. Although understanding the rationale for MC/DC is notstrictly necessary for developing a working knowledge of its use, information is included to help reducecurrent well-documented misunderstandings about the topic (ref 3).The tutorial is a self-study course designed for individuals who either develop and verify aviationsoftware products that must comply with the DO-178B objectives for level A, or who provide oversightand assurance of such products. Readers are assumed to have a basic knowledge of Boolean algebra andDO-178B. Specific references to DO-178B and other supporting materials are cited throughout. Alsoincluded throughout are exercises designed to give readers structured opportunities to assess theirunderstanding of the concepts presented; solutions for the exercises are given in Appendix A. Readers1 ED-12B, the European equivalent of DO-178B, is recognized by the Joint Aviation Authorities (JAA) via JAAtemporary guidance leaflet #4 as the primmy means for obtaining approval of airborne computer software.2 This work was supported by the FAA William J. Hughes Technical Center, Atlantic City International Airport,New Jersey.
[1]
John Joseph Chilenski,et al.
An Investigation of Three Forms of the Modified Condition Decision Coverage (MCDC) Criterion
,
2001
.
[2]
Hoyt Lougee,et al.
SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION
,
2001
.
[3]
Department of Transportation Federal Aviation Administration 14 Cfr Part 91 Automatic Dependent Surveillance— Broadcast (ads–b) out Performance Requirements to Support Air Traffic Control (atc) Service; Final Rule Department of Transportation Federal Aviation Administration 14 Cfr Part 91 Automatic
,
2022
.
[4]
J Hayhurst Kelly,et al.
A Practical Tutorial on Modified Condition/Decision Coverage
,
2001
.
[5]
Lauren Ruth Wiener.
Digital woes - why we should not depend on software
,
1993
.
[6]
Steven P. Miller,et al.
Applicability of modified condition/decision coverage to software testing
,
1994,
Softw. Eng. J..
[7]
Boris Beizer,et al.
Software Testing Techniques
,
1983
.
[8]
Bjarne Stroustrup,et al.
C++ Programming Language
,
1986,
IEEE Softw..
[9]
V.A. Carreno,et al.
A case-study application of RTCA DO-254: design assurance guidance for airborne electronic hardware
,
2000,
19th DASC. 19th Digital Avionics Systems Conference. Proceedings (Cat. No.00CH37126).
[10]
Jon Bartlett,et al.
Familiar Quotations: A Collection of Passages, Phrases, and Proverbs Traced to Their Sources in Ancient and Modern Literature
,
2013
.