"Bug" là thuật ngữ được dùng để chỉ một lỗi phần mềm hay hỏng hóc trong chương trình hoặc hệ thống máy tính, cho kết quả không chính xác hoặc hành xử theo những cách không lường trước được.
Vậy thuật ngữ "bug" từ đâu được sinh ra?
"Bug" xuất phát từ một thuật ngữ được Grace Hopper - một nhà toán học và sĩ quan Hải quân Mỹ sử dụng trong sổ ghi chép lỗi của Mark II, một chiếc máy tính khổng lồ chiếm trọn một căn phòng tại Đại học Harvard (Mỹ).
Grace Hopper được biết đến nhiều nhất qua công trình phát triển hệ thống Mark II và đóng vai trò quan trọng trong việc phát triển các ngôn ngữ lập trình và trình biên dịch đầu tiên, chẳng hạn như COBOL hiện vẫn đang được sử dụng trong nhiều môi trường kinh doanh và quân sự.
Năm 1947, Mark II bắt đầu tạo ra những kết quả sai chỉ sau một đêm hoạt động và không có cảnh báo. Grace Hopper và các nhà khoa học phụ trách hệ thống nhanh chóng bắt đầu điều tra nguyên nhân gây ra lỗi này. Sự cố được phát hiện liên quan đến một con bướm đêm đã chui vào bên trong máy tính và gây ra hiện tượng đoản mạch ở một trong các rơle. Sự cố vật lý này đã khiến máy tính đưa ra kết quả không chính xác.
Vào thời điểm đó, có một sổ ghi chép ghi lại các lỗi với những hệ thống như Mark II. Chính Hopper đã lấy con bướm đêm gây sự cố ra và dán nó vào sổ ghi chép này. Hopper đã viết thuật ngữ "bug" bên cạnh con bướm đêm như ám chỉ một con bướm chui vào máy tính và gây ra trục trặc.
Ngày nay bất kỳ lỗi máy tính nào, cho dù đó là trục trặc hệ thống hay mã đều sử dụng thuật ngữ "bug" để nhấn mạnh tầm quan trọng của sự kỹ lưỡng khi điều tra một vấn đề. Thuật ngữ này cũng nhắc nhở chúng ta rằng ngay cả một lỗi rất nhỏ cũng có thể gây ra hậu quả lớn.