Em cũng làm phần mềm, và em rón rén kéo áo với cụ là phần mềm điều khiển tự động hóa, chạy trên các thiết bị đặc thù nó cũng hơi khác chạy trên máy tính cụ ạ. Môi trường hoạt động của phần mềm trên máy tính (Desktop PC, Laptop, Server) rất hoàn hảo và chuẩn hóa. Còn các hệ thống tự động hóa điều khiển máy móc thì nó kết nối với một đống các sensor và bộ phận hầm bà lằng mà xác suất xảy ra lỗi cao hơn PC.
Ví dụ firmware của ô tô có logic: nếu bấm P thì xe đứng yên, nếu bấm R thì xe lùi. Ông tài xế bấm P, rồi ra sau xe bấm nút mở cốp, vì một lý do nào đó (lỗi linh kiện, lỗi lắp ráp, lỗi mát dây v.v...) tín hiệu mở cốp nó kích hoạt cả tín hiệu bấm nút R. Khi đó firmware nhận được cả tín hiệu P và R mà về mặt lý thuyết không bao giờ xảy ra cả. Ông dev nào xử lý không tốt hoàn toàn có thể ra lệnh lùi xe, và bug này sẽ không xảy ra hàng loạt, chỉ xảy ra kết hợp với 1 lỗi về phần cứng với một xác suất nhỏ nào đó.