DO178C Changes To Core Body: MCDC, Requirement Detail, and Traceability, by Vance Hilderman
Everyone knows that DO-178C adds significantly useful information and clarification regarding formal methods, tool qualification, object oriented programming, and model-based development; this greatly anticipated information is placed in all-new annexes (appendices) appended to the new DO-178C.
What is less appreciated however are the seemingly subtle changes to the core body text of DO-178C itself and not the signiicant additions represented by the Supplements. Specifically, DO-178A and DO-178B were notorously “flexible” regarding the level of detailed specified within the requisite software requirements. This flexibility meant that less rigorous software requirement specifications contained less-than-desirable low level requirement detail; the resultant requirements ambiguities led to increased software errors and/or increased structural coverage analysis associated with uncovered structures, particularly at Level A which required statement, DC, and MCDC coverage. Therefore, DO-178C tightens the requirement to verify MCDC cases during the software functional testing of requirements. The software test case development should consider low-level perturbations of conditions thereby providing near-complete MCDC coverage at the requirement level. Also, DO-178B implied the requirement for closed-loop traceability, to ensure that all requirements were covered within design/code/tests (“top-to-bottom” coverage) and also that only the specified requirement were implemented (“bottom-to-top” coverage). DO-178C clarifies such to more specifically require top-to-bottom and bottom-to-top traceabilty to remove any ambiguity.