Design Assurance Level — DAL — is the single number that decides how much work a DO-178C programme is. It sets how many objectives you must satisfy, how many of them need an independent pair of eyes, and whether you will be measuring MC/DC coverage or nothing at all.

It is also the number teams most often get wrong, usually by assuming it is theirs to pick. It isn't. Here is what the five levels mean, where yours comes from, and what actually changes as you move up.

The five levels at a glance

DO-178C defines five software levels, A through E. The level is driven entirely by one question: if this software contributes to a failure, how bad is the worst credible outcome?

DAL severity ladder, from Catastrophic (DAL A) down to No Safety Effect (DAL E) Most severe Least severe DAL A Catastrophic DAL B Hazardous / severe-major DAL C Major DAL D Minor DAL E No safety effect
Failure condition severity maps one-to-one onto software level.
Level Failure condition What that means in the aircraft
A Catastrophic Would prevent continued safe flight and landing
B Hazardous / Severe-Major Large reduction in safety margins; serious or fatal injury to a small number of occupants
C Major Significant reduction in safety margins; discomfort, possibly minor injuries
D Minor Slight reduction in safety margins; a routine increase in crew workload
E No safety effect No effect on operational capability or crew workload
The five levels and the failure conditions behind them.

Note the wording throughout: failure condition, not software criticality. The severity belongs to the aircraft-level effect, not to how clever or complex the code is. A trivial piece of software can be Level A and a large, sophisticated one can be Level D.

You do not choose your DAL

This is the most common and most expensive misunderstanding in the whole standard. The software level is an output of the aircraft and system safety assessment, normally conducted under ARP4754A/B and ARP4761/A. It arrives at the software team already decided.

The aircraft safety-assessment chain: FHA, PSSA and SSA allocating DAL down to software, with CCA alongside CCA Common Cause Analysis (alongside) FHA Functional Hazard Assessment PSSA Preliminary System Safety Assessment SSA System Safety Assessment DAL allocation Software DAL flows down to development
The level is allocated down to software from the system safety assessment — it is not selected by the software team.

What actually changes between levels

Moving up a level does not mean "do the same work more carefully." It means satisfying more objectives, and satisfying more of them independently.

Objective count by DAL: 71 at DAL A, 69 at B, 62 at C, 26 at D, 0 at E, with the subset requiring independence shown alongside — the drop from C to D is far larger than from B to A Total objectives With independence 71 30 DAL A 69 18 DAL B 62 5 DAL C 26 2 DAL D 0 0 DAL E The drop from C to D is far larger than from B to A
Objectives by level, with the independent subset. The step between C and D is the largest in the standard.
Level Objectives Of which with independence Relative to the level below
A 71 30 +9 objectives, but +12 independent
B 69 18 +7 objectives, +13 independent
C 62 5 +36 objectives — the big step
D 26 2 +26 objectives over Level E
E 0 0 No DO-178C objectives
Objective counts from DO-178C Annex A, given as a guide — confirm against your own copy, and note that applying a supplement such as DO-331 changes them.

Read the last column carefully, because it contradicts most people's intuition. The jump everyone fears is C to B to A. The jump that actually reshapes a programme is D to C: thirty-six additional objectives, the arrival of structural coverage, and the first real verification infrastructure. Going from C to A adds far fewer objectives — but it roughly sextuples the ones needing independence, which is a staffing problem rather than a process one.

Independence is the word that costs money

An objective "with independence" means the person who verifies an item cannot be the person who produced it. It is not a statement about departments or reporting lines; it is about the individual.

Independence in DO-178C: the producer of a requirement, design or code artifact and the person who verifies it must not be the same person; a tool can satisfy independence for some objectives Producer Requirement · design · code Verifier Review · analysis · test Independence Producer and verifier must differ Tool May satisfy independence for some objectives
Independence separates the producer from the verifier for a given item. For some objectives a qualified tool can provide it.

Two practical consequences. First, a two-person team cannot satisfy Level A by working closely together — the split has to be real and has to be visible in your records. Second, for certain objectives a qualified tool can supply the independence instead of a second engineer, which is one of the few genuine cost levers at the top levels. It is also why tool qualification (DO-330) tends to appear on Level A and B programmes and rarely on Level D ones.

Structural coverage by level

Coverage is where the level shows up most concretely in day-to-day engineering.

Level Statement Decision MC/DC Source-to-object code traceability
A Required Required Required Required
B Required Required
C Required
D
E
Structural coverage required by level. Data coupling and control coupling analysis is required at Levels A, B and C.

MC/DC at Level A is the requirement people quote most, and it is genuinely demanding for complex boolean logic. But the quieter Level A requirement — showing that object code not directly traceable to source code is verified — is the one that surprises teams, because it depends on the compiler and its options, not on anything the team wrote.

Common mis-scoping mistakes

  1. Assuming one level for the whole box. A single LRU can host functions at different levels, provided partitioning between them is robust and demonstrated. Levelling everything at the highest function's DAL is a common and very expensive default.
  2. Treating Level E as "nothing to do." Level E carries no DO-178C objectives, but you still have to justify the classification to the authority. Unjustified Level E is a finding, not a saving.
  3. Confusing DAL with SIL or ASIL. They come from different standards with different definitions, and they do not map across cleanly. A supplier arriving from automotive or industrial work should assume nothing transfers.
  4. Forgetting the independence headcount. Level A and B programmes are frequently staffed as if independence were a review step rather than a separate person's job, and discover the gap at SOI #3.
  5. Fixing the level before the FHA is stable. If the safety assessment moves, the level moves, and the plans you wrote against the old level move with it.

Frequently asked questions

Who assigns the DAL?

It comes out of the aircraft and system safety assessment — the Functional Hazard Assessment establishes the severity, and the system safety process allocates assurance levels down to the items that implement each function. The software team receives it; it does not set it.

Can different parts of the same software be at different levels?

Yes, provided you can demonstrate robust partitioning between them, so that software at a lower level cannot adversely affect software at a higher one. Without that demonstration, everything in the partition is treated at the highest level present.

How much more does Level A cost than Level C?

There is no honest single multiplier, because it depends far more on how the programme was planned than on the level itself. What is predictable is the shape: C to A adds relatively few objectives but sharply increases the independent ones, so the cost lands in staffing and in verification infrastructure rather than in extra process steps.

Is DAL the same as MC/DC?

No. MC/DC is one coverage criterion that Level A requires. The level determines many other things as well — the number of objectives, how many need independence, and whether data and control coupling analysis applies.

What is the difference between DAL and IDAL?

IDAL, item development assurance level, is the term used in the system-level standards for the level allocated to an item. Once that item is software, DO-178C calls it the software level. In everyday programme conversation they are used interchangeably, but the allocation happens at system level and lands on software.

Scoping a programme, or challenging a level that looks wrong for the architecture? That conversation is worth having early — get in touch.