The machine had two treatment modes that used an energy source and a diffusion device that was rotated in front of the source. The accidents occurred when the energy source was activated without the appropriate diffusion device. Researchers who investigated the accidents found several contributing causes. These included the following institutional causes:
The software design was not documented with enough detail to support reliability modelling.
The system documentation did not adequately explain error codes.
AECL personnel were at first dismissive of complaints.
The researchers also found several engineering issues:
The design did not have hardware interlocks to prevent the source from coming on with the wrong diffusion device.
Software from older models had been reused without properly considering the hardware differences.
The software assumed that sensors always worked correctly, since there was no way to verify them. (see open loop)
The equipment control task did not properly synchronize with the operator interface task, so that race conditions occurred if the operator changed the setup too quickly.