>the possibility of it being software, hardware or QC
There's a certain overlap here. It's not completely orthogonal. Having worked on safety critical systems before a lot of effort is put into detecting hardware errors in the software. E.g. random bit flips, ALU hardware issues, RAM writability issues, hash check of the loaded software being ok, plausibility check with (partually) redundant sensors.
You can detect a lot of hardware/QC issues on the software level. While it's still a hardware issue, better software can sometimes at least detect it
There's a certain overlap here. It's not completely orthogonal. Having worked on safety critical systems before a lot of effort is put into detecting hardware errors in the software. E.g. random bit flips, ALU hardware issues, RAM writability issues, hash check of the loaded software being ok, plausibility check with (partually) redundant sensors.
You can detect a lot of hardware/QC issues on the software level. While it's still a hardware issue, better software can sometimes at least detect it