STPA Primer

STPA looks for the ways a system could cause harm, even when every part works, so they can be fixed before anyone is hurt.

Page Overview

STPA’s Focus

  1. 1
    Four Conditions for Control

    What any controller needs in order to control a process safely.

  2. 2
    Anticipating How Controllers Get Confused

    The well-known ways control loops break down, seen in a hospital and in a winter takeoff.

How STPA Works

  1. 3
    The Four Steps of STPA

    What each step involves, and the constraints and solutions it produces.

  2. 4
    Steps 1–4: A Worked Example

    A shift-by-wire car design, analyzed step by step.

  3. 5
    More Scenarios, Same Questions

    Other ways the same unsafe control action can happen, and the short set of questions that finds them.

  4. 6
    Blind Tests: Can You Prove STPA Works?

    How STPA compared with HAZOP, FTA, and FMEA on a real design flaw.

Part 1 of 6

Four Conditions for Control

Builds on: The Control Loop Model, on About STAMP

Effective control, whether by a person, a piece of software, or an organization, requires four conditions. Accidents almost always involve one of these conditions being broken somewhere in the system.

Goal Condition

The controller has the right goals, and gives them the right priority.

In the diagram: Decision Making

Model Condition

The controller has a model of the process’s current state, and of how that state can change.

In the diagram: Process Model

ControllerDecisionMakingProcessModelControlActionsFeedbackControlled Process

Action Condition

The controller has the authority and the means to act on the process.

In the diagram: Control Actions

Observability Condition

The controller can find out the current state of the process.

In the diagram: Feedback

Next come two examples of how these conditions break down. They show which patterns to look for and how the interactions in a control loop reveal flaws in a complicated system before anything goes wrong.

Part 2 of 6

Anticipating How Controllers Get Confused

Control loops break down in a few well-known ways, often without anything failing. A controller’s beliefs about the process drift away from what’s really happening. People and automation each assume the other is in charge. The feedback a controller needs was never designed in, or it comes too late, or it misleads. The same patterns show up whether the controller is a person or software.

Because the patterns are known, STPA goes looking for them. The patterns are intuitive, so they’re easy to spot in a design and can be fixed before they lead to a costly accident.

STPA compared with FMEA, Fault Tree Analysis, and HAZOP

The basic difference, on About STAMP

Results from real projects, on Why Use STPA?

Example: Reviewing Lab Results

The Nurse Practitioner’s Control Loop

Nurse PractitionerProcess model (beliefs)Believes the patient’s results are normal or abnormalBelieves all the patient’s results are normalOrder tests;refer to aspecialistNo referral toa specialistLab results;abnormal onesflagged in redAll results looknormal (black,no red flags)PatientActually: dangerously low hormone level123

Step through what STPA finds:

1The Control Loop

Before surgery, a nurse practitioner checks that the patient is ready. The nurse practitioner orders blood tests and reads the results in the patient’s electronic health record, where results outside the normal range are flagged in red. If a result is worrying, the nurse practitioner can refer the patient to a specialist before surgery goes ahead.

2Questions from STPA

  1. When could the nurse practitioner skip a referral the patient needs?
  2. Could a result be abnormal and the feedback still show no red flag?
  3. What would the nurse practitioner believe about a result with no flag?

3The Loss Scenario

The answers add up to a loss scenario. An abnormal result shows in plain black, with no red flag, so the nurse practitioner believes all the results are normal and doesn’t refer the patient.

The Loss Scenario, Step by Step

Control action
The nurse practitioner doesn’t refer the patient to a specialist.
Process model (beliefs)
The nurse practitioner believes all the patient’s results are normal.
Feedback
The result is never flagged in red, even though it’s abnormal. Why? The lab system wasn’t designed for tests like this one, whose normal range depends on the time of day the blood is drawn. The system holds one fixed range per test, so this test’s range was left blank, and its results always show in plain black, just like a normal result. Nothing has failed: the record shows exactly what it was set up to show.
Patient
The low hormone level goes untreated, which can be dangerous during surgery.

Fixes for the Control Loop

  • Feedback: Ensure the system can flag tests whose normal range changes through the day, and that any result it still can’t flag says “not flagged” on screen instead of showing in plain black like a normal one.
  • Process model (beliefs): Ensure clinicians know which tests aren’t flagged, so plain black isn’t read as normal.

This scenario is based on a real case. Read the 2024 MIT report

More Technical Example: A Winter Takeoff

An airliner is about to take off on a winter day. To set takeoff thrust, the crew pushes the thrust levers forward until a thrust gauge in the cockpit shows a target number. The gauge gets its reading from a small sensor in each engine’s air intake. Heaters, called anti-ice, keep ice off the intakes and those sensors. What could go wrong?

Human Error View

Model: crew tasks

1Check the weather and runway2Switch on anti-ice if needed3Set takeoff thrust4Call out “thrust set”

What could go wrong

  • The crew could forget to switch on engine anti-ice.
  • The crew could call out “thrust set” when it isn’t.

Fix

Train crews on winter operations and thrust checks, and make sure the checklist covers anti-ice.

Assumes a trained crew with a checklist will use anti-ice when it’s needed.

Function Failure View

Model: functions

Control thrustSet enginethrustProtect enginesfrom ice

What could go wrong

  • Partial loss of thrust during takeoff.
  • Loss of engine anti-ice.

Effect

The engine thrust warning alerts the crew, who stop the takeoff or return to land. If the engine thrust warning also fails, the airplane may not climb safely.

Assumes the design warns the crew, and looks for failures that could stop the warning.

STPA View

Model: a control loop

Flight CrewProcess model (beliefs)EnginesThrust levers,anti-ice off/onThrust gauge,engine speedgauges

What could go wrong

  • Control action: the crew could stop pushing the thrust levers too soon, or leave anti-ice off.
  • Process model (beliefs): the crew could believe takeoff thrust is set when it’s too low, or that the autothrottle is still adjusting thrust after it has stopped.
  • Feedback: the thrust gauge could show full takeoff thrust while the engines give too little.

Doesn’t assume anything failed.

Answering the STPA Questions

The Crew’s Control Loop

Flight CrewProcess model (beliefs)“Takeoff thrust is set. Anti-ice isn’t needed.”Levers to thetarget reading;anti-ice offThrust gaugereads the target(sensor iced)Not designed in:thrust is lowEnginesRespond to the levers as designedActually: less thrust than takeoff needs
Nothing in the loop tells the crew that thrust is low.

STPA is scenario-based. Starting from what could go wrong, the team answers questions about the crew’s control loop. The answers build a loss scenario: a step-by-step account of how a loss could happen.

Questions from STPA

  • Why might a trained crew leave anti-ice off?
  • How could ice be forming while the crew believes anti-ice isn’t needed?
  • Could the engines do what they’re told and still produce too little thrust?
  • What would the crew see if the engines gave less thrust?

The Loss Scenario

Anti-Ice

Control action
The crew leaves anti-ice off.
Process model (beliefs)
The crew believes anti-ice isn’t needed.
Feedback
It’s warm out, and any snow the crew can see is melting. Nothing looks icy.
Engines
Ice builds up on the intake sensors, where the crew can’t see it, because air cools as it speeds into the engines.

Takeoff Thrust

Control action
The crew stops pushing the thrust levers forward while thrust is still too low.
Process model (beliefs)
The crew believes thrust is high enough for takeoff.
Feedback
The iced sensors make the thrust gauge read high, so it shows takeoff thrust. No warning comes on for the ice or the low thrust: the airplane has no way to detect either. The engine speed gauges read a little low, which is easy to miss while watching the runway, and on a snowy runway the slow speed-up looks normal.
Engines
The engines do what the levers tell them, so they give less thrust than the takeoff needs.

Both beliefs are clearly wrong in hindsight. Understanding how these beliefs form, from what the crew can see at the time, is what makes it possible to prevent them.

Fixes for the Crew’s Control Loop

  • Control action: Ensure sensor heat comes on by itself in cold, wet weather, so the crew doesn’t have to decide when it’s needed.
  • Process model (beliefs): Ensure the checklist says engine ice can form above freezing, even when nothing looks icy.
  • Feedback: Ensure the crew is alerted when the thrust gauge and the engine speed gauges disagree, or when the airplane is too slow for how far it has gone down the runway.

Part 3 of 6

The Four Steps of STPA

The four steps produce constraints and solutions. The first ones cover the whole system, and later ones get more specific.

  1. 1

    What you do

    Define the Purpose of the Analysis

    Identify the losses that stakeholders can’t accept and the system-level hazards that could lead to them.

    What you get

    System-Level Constraints

    High-level constraints the whole system has to meet to prevent the hazards. They drive the more detailed constraints and solutions in the steps that follow.

  2. 2

    What you do

    Model the Control Structure

    Map the controllers (people, software, automation, and organizations), the control actions they can take, and the feedback they get.

    What you get

    Constraints on the Control Structure

    What the system has to provide for control to work: the control loops that must exist, the control actions each controller can use, the responsibilities each one has, and the feedback each one relies on.

  3. 3

    What you do

    Identify Unsafe Control Actions

    Find the contexts in which a control action would be unsafe: when it isn’t provided, when it is provided, when it comes too early, too late, or out of order, and when it’s stopped too soon or applied too long.

    What you get

    Controller Constraints

    An unsafe control action becomes a constraint on the controller: what it must or must not do in that context.

  4. 4

    What you do

    Identify Loss Scenarios

    Work out why an unsafe control action could happen, or why a safe one might not get carried out: what the controller believed, what feedback it had, and what the process itself did.

    What you get

    Requirements and Other Solutions

    Solutions aimed at specific scenarios: requirements, design changes, test cases, procedures, training, and leading indicators to watch in operation.

Part 4 of 6

Steps 1–4: A Worked Example

A shift-by-wire gear knob with a P button on top and the letters R, N, and D lit on its face, with D selected.
On a shift-by-wire knob like this one, the letter that lights up shows the gear.

Carmakers are replacing mechanical controls with electronic ones. Braking, steering, acceleration, and gear shifting are moving to “by-wire” designs, where a control sends an electrical signal instead of moving a cable or linkage, with no mechanical backup. This example uses STPA to look for weaknesses in a shift-by-wire design, and to work out solutions.

In the design analyzed here, the shift lever springs back to the center after every shift, like a joystick. From D, pushing the lever forward one click selects N, and two clicks in one push select R. Pushing forward from R does nothing more. Park has its own P button on top of the knob. Unlike a traditional P-R-N-D lever, this lever gives the driver no way to tell the gear by looking at it or feeling where it is. Drivers can tell the gear only from a letter on the shift knob and on the dashboard.

The design has safeguards to help protect against unintended use or misuse. The engine won’t switch off unless the vehicle is in Park, and a chime sounds if the driver’s door opens when the vehicle isn’t in Park.

1

Step 1: Losses, Hazards, and Constraints

Step 1 starts with the losses to prevent. The system-level hazards are states of the whole vehicle that could lead to those losses, and the system-level constraints say what the vehicle must do to prevent each hazard.

Losses

  • L-1People hurt or killed: the driver, passengers, or people nearby
  • L-2Damage to the vehicle or other property

Hazards

  • H-1An unattended vehicle is moving [L-1, L-2]
  • H-2A moving vehicle is locked in Park [L-1, L-2]

What you get

System-Level Constraints

  • SC-1An unattended vehicle must stay still [H-1]
  • SC-2A moving vehicle must not be locked in Park [H-2]
2

Step 2: The Control Structure

The driver picks a gear with the shift lever, selects Park with the P button, and turns the engine on and off with a Start/Stop button. Software reads the lever and the buttons, and sends the commands to the transmission and the engine.

To tell what the car is doing, the driver has a letter showing the gear on the shift knob and on the dashboard, a chime if the door opens when the car isn’t in Park, and the sound of the engine.

Put together, these controls and this feedback can be sketched as a control structure, with control actions going down and feedback coming up.

Control Structure (Simplified)

DriverProcess model (beliefs)Which gear it’s in;whether the engine is runningShift lever,P button,Start/StopGear letter,door chime,engine soundShift and Engine ControlSoftwareEngage gearor Park,engine on/offVehicle speed,gear engaged,driver’s doorTransmission, Engine, and Vehicle

What you get

Constraints on the Control Structure (Examples)

  • CS-1The driver must be able to tell which gear the vehicle is in by feel or at a glance. [SC-1]
  • CS-2The driver must be able to tell whether the engine is still running. [SC-1]
  • CS-3The software shares the job of keeping a parked vehicle still, for when the driver leaves without shifting to Park. [SC-1]
  • CS-4The software must be able to tell whether the driver is still in the vehicle. [SC-1, SC-2]
3

Step 3: Unsafe Control Actions

Shifting into Park keeps a parked car still, so we’ll analyze that control action. A control action can be unsafe in four ways, depending on the context.

Control ActionNot Providing Causes HazardProviding Causes HazardToo Early, Too Late, or Out of OrderStopped Too Soon or Applied Too Long
Driver shifts to Park UCA-1Driver doesn’t shift to Park when getting out with the engine running [H-1] Not hazardous on its own: the software won’t engage Park while the vehicle is moving UCA-2Driver shifts to Park too early, before the vehicle has stopped [H-1] Not applicable: shifting is a single action
Software engages Park UCA-3Software doesn’t engage Park when the driver has left and the vehicle isn’t in Park [H-1] UCA-4Software engages Park while the vehicle is being driven [H-2] UCA-5Software engages Park too late, after the vehicle has started to roll [H-1] Not applicable: engaging Park is a single action

What you get

Controller Constraints (Examples)

  • C-1The driver must shift to Park when getting out with the engine running. [UCA-1]
  • C-3The software must engage Park when the driver has left and the vehicle isn’t in Park. [UCA-3]
  • C-4The software must not engage Park while the vehicle is being driven. [UCA-4]

Together, C-3 and C-4 mean any fix has to tell whether the driver has left or is still driving.

4

Step 4: A Loss Scenario

Step 4 takes UCA-1 and works back through the driver’s control loop: what they did, what they believed, why the decision made sense, and what feedback led them there.

Scenario for UCA-1

Driver3 · Decision making“If it’s in Park,I canstep out.”2 · Process modelBelieves thevehicle isin Park1 · Unsafe control actionDriver doesn’t shiftto Park when gettingout with the enginerunning4 · FeedbackFelt two clicks forward,like a lever movinginto ParkOnly a small lettershows the gearShifter, Transmission, VehicleActually: in Reverse
  1. Unsafe control actionDriver doesn’t shift to Park when getting out with the engine running
  2. Process modelBelieves the vehicle is in Park
  3. Decision making“If it’s in Park, I can step out.”
  4. FeedbackFelt two clicks forward, like a lever moving into Park; only a small letter shows the gear

Actually: in Reverse

The scenario: to park, the driver pushes the lever forward from D and feels it click forward twice, the way a traditional lever feels moving up into Park. The lever has actually selected R. Believing the vehicle is in Park, the driver gets out with the engine running, and the vehicle starts to roll backward.

What you get

Requirements and Other Solutions (Examples)

Requirement

The vehicle must shift itself into Park if the driver leaves while it isn’t in Park.

Design change

A shift lever that stays where it’s put, so the driver can feel which gear it’s in.

Test case

Get out with the engine running in each gear, and check that the vehicle stays still.

Instructions

Check for the P and set the parking brake before getting out.

This Design Was Real

In 2016, about 811,000 cars and SUVs in the US with a shifter like this were recalled, after drivers got out believing the vehicle was in Park and it rolled away. NHTSA counted 266 crashes and 68 injuries, and no part had failed. The changes made afterward match the solutions above: “Auto Park” software, a shifter that stays in the selected gear on later models, and a reference card for owners.

STPA had already flagged this problem. At the 2016 STAMP Workshop, a month before the recall, GM engineers presented an STPA of shift-by-wire controls whose top-priority unsafe control action was a driver not putting the car in Park before getting out.

Part 5 of 6

More Scenarios, Same Questions

Step 4 usually finds more than one scenario for an unsafe control action. The scenarios come from asking about the parts of the control loop: the feedback, the controller’s beliefs and decisions, other controllers, and the process itself. Here are more for UCA-1.

Feedback

What could hide the gear from the driver?

Two clicks forward from D select R, which feels like moving a traditional lever into Park, and only a small letter shows the gear.

This is the scenario in Part 4.

Feedback timing

Does the warning come in time?

The chime and the dashboard message start when the door opens, as the driver is already getting out.

Another controller

Could something else in the car override what the driver did?

The driver presses Start/Stop to switch off. A safety interlock keeps the engine running because the vehicle isn’t in Park, and the idle is quiet, so the driver gets out believing the car is off and parked.

Reported to NHTSA

Controlled process

Could the car do something different from what the driver chose?

The driver selects Park while the vehicle is still rolling a little. Above 1.2 mph the transmission goes to Neutral instead, and says so only on the dashboard.

Reported to NHTSA

Decision making

When would leaving the engine running make sense?

The driver means to leave the engine running, and steps out believing the vehicle is in Park.

Reported to NHTSA

New controller

What could go wrong with the fix?

Auto Park decides the driver has left by checking the door, the seat belt, and the brake pedal. The same questions apply to Auto Park: when could those signals be wrong?

Three of these are scenarios that NHTSA later documented from drivers’ reports. Those reports come in after vehicles are on the road, when fixes cost the most. Teams don’t have to wait for those reports. STPA can find the same scenarios early in design. The STPA questions that found these scenarios are the same for any unsafe control action, and each scenario takes a sentence or two to write.

STPA Found This Two Years Before the Recall

STPA work on shift-by-wire controls had already anticipated this problem, before it led to crashes, injuries, and a recall likely costing tens of millions of dollars. The work was done at a different carmaker, GM, with MIT researchers including Dr. John Thomas.

The Same Pattern Elsewhere

Other cars have misled drivers in the same way, with nothing broken:

  • With keyless ignition, drivers have walked away from cars they thought were switched off but were still running, or weren’t in Park. NHTSA proposed a rule on both risks.
  • An SUV was recalled in 2015 because its engine Start/Stop button sat among the push-button gear selectors, and people switched the engine off by mistake while driving.

Which Fixes Work Best

Many fixes don’t need ranking. If a scenario shows a missing requirement, such as a car that doesn’t shift itself into Park when the driver has left, and the fix is easy, add it.

Ranking by probability was designed for random component failures, where a part may work for thousands of hours before it fails, so you need a way to judge how long it will last. A flaw in a design, a requirement, or a procedure is different: it’s in every product built to that design from the first day, and it causes trouble in a predictable, non-random way.

When there’s a real choice between fixes, system safety standards rank them by how well they work. This is the order in MIL-STD-882E, the U.S. Department of Defense’s standard practice for system safety.

  1. aEliminate the hazard
  2. bReduce the risk by changing the designThe new shifter
  3. cAdd engineered features or devicesAuto Park
  4. dProvide warning devicesThe door chime
  5. eSigns, procedures, training, and protective equipmentThe owner card
MIL-STD-882E’s order for fixes, from most to least effective, with this example’s fixes tagged.

Most effective: fix the system that people operate in.

Least effective: fix the people who operate in the system.

Part 6 of 6

Blind Tests: Can You Prove STPA Works?

It’s easy to assume a safety analysis method works because it’s familiar, required, or widely used. The only way to know for sure is to test the method: does it find real flaws that matter in real systems?

A fair test needs a system with flaws that are already known, and analysis teams who don’t know what they are. Each team uses a different method, ideally with years of professional experience in it, and then the results are compared.

EPRI (the Electric Power Research Institute) decided to test which methods could uncover real flaws when the analysis teams don’t know the answers. EPRI picked the emergency cooling system of a nuclear power plant, where a design flaw had already shut it down during a start, at a cost of more than $10 million, and no component had failed.

The analysis teams weren’t told about the flaw. The teams using HAZOP, FTA, FMEA, and other methods had years of experience with them. The STPA team had just finished a one-day STPA class with Dr. John Thomas.

What the Teams Found

Every method found most of the component failures.

Only STPA found the flaws in the digital control design and its assumptions, including the scenario that had happened.

Based on these results, STPA was chosen for EPRI’s new guidance on engineering digital instrumentation and control in nuclear plants.

Methods built on different views of a system each bring their own perspective, so we can expect a method with a different model to uncover things the others missed. STPA’s strengths are software, autonomy, and human behavior, where complex interactions are easy to overlook, even by experts and in design reviews. STPA can start in the concept phase, and teams often use STPA throughout development and operations.

STPA has limits too. STPA doesn’t model physical proximity, such as parts close enough to damage each other, and because STPA looks at more than failures, a probability doesn’t apply to every STPA result. FMEA and FTA are the other way around: they model failures of known functions and components, and assign probabilities to those failures.

Results in Other Industries

Teams in aviation, space, defense, automotive, maritime, and healthcare have compared STPA with the methods they already used. A few of the results:

  • Missile defense: the system had been analyzed with failure-based methods, and STPA was tried only near the end, with no one expecting it to find much. In three months, STPA found so many flaws that engineers spent six months going back to revisit and fix earlier design decisions. Looking back, the common reaction among the engineers was that they should have tried STPA much earlier.
  • Aircraft engine controls: STPA found 30 scenarios that the standard methods missed, and later in service, flaws turned up that exactly matched what STPA had found years before.
  • Spacecraft (JAXA): STPA found the failures in the existing fault tree analysis, plus catastrophic causes the fault tree had missed.
  • FMECA comparison: of 137 causes STPA found, 53 weren’t covered by the FMECA.

See all of the comparisons on Why Use STPA?

Where to Go Next

Keep Learning

The introductions to the methods, the evidence for using them, and the industry pages are all free.

STAMP Resources

Take a Class

Self-paced online courses and live classes, with certification for those who want it.

See the classes

Get Help on a Project

We work alongside teams applying STPA or CAST to their own systems.

About project support

Questions? Email [email protected].