Lỗi phần mềm, là sự cố trong chương trình máy tính hoặc hệ thống phần mềm gây ra kết quả không mong muốn. Các chương trình hỗ trợ phát hiện và loại bỏ các lỗi lập trình phần mềm được gọi là trình gỡ lỗi. Nhiều sự cố đáng chú ý do loại lỗi này gây ra bao gồm việc tàu thăm dò vũ trụ Mariner 1.1 bị phá hủy vào năm 1962, chiếc Ariane 5 5012 và chiếc Airbus A400M.3 vào năm 2015.
Năm 1967, những người sáng tạo ra Mak III đã báo cáo trường hợp máy tính đầu tiên bị lỗi do lỗi. Mark III, máy tính kế nhiệm ASCC Mark II, được chế tạo vào năm 1944, bị hỏng rơ le điện từ. Khi điều tra rơ le này, một con bướm đêm (lỗi) đã được tìm thấy khiến rơ le vẫn mở. Grace Murray Hopper, một nhà toán học và vật lý học nổi tiếng, người từng làm việc với tư cách là một lập trình viên trên Mark II, đã ghi lại con côn trùng trong nhật ký câu cá của mình.
Sự cố này được gọi một cách sai lầm là nguồn gốc của việc sử dụng từ lỗi tiếng Anh (“bug”) để chỉ sự cố trong một thiết bị hoặc hệ thống.5 6 Trên thực tế, thuật ngữ bug đã là một phần của ngôn ngữ tiếng Anh, ít nhất là từ thời Thomas Alva Edison đã sử dụng nó vào năm 1889 liên quan đến nhiễu và trục trặc. Đầu tiên, Hopper có thể liên kết nó với khoa học máy tính, trong trường hợp này là liên quan đến một lỗi thực sự. Mặt khác, mặc dù trong những năm 1950 Hopper cũng sử dụng thuật ngữ gỡ lỗi trong tiếng Anh khi thảo luận về gỡ lỗi trong mã lập trình, việc sử dụng thuật ngữ này được ghi nhận đầu tiên được tìm thấy trong Tạp chí của Hiệp hội Hàng không Hoàng gia năm 1945.
Trong trường hợp lỗi, nó là một từ được sử dụng bởi tất cả những người có kiến thức trong lĩnh vực khoa học máy tính. Từ này trong tiếng Anh, dịch sát nghĩa là "bug", được dùng để gọi tên các lỗi xảy ra trong một chương trình máy tính.
Một lỗi được tạo ra trong quá trình lập trình thiết kế phần mềm và tại một số điểm, nó tự biểu hiện cho người dùng. Một số sai lầm phổ biến là bao gồm các biến không được khởi tạo vào thời điểm chính xác, lập chỉ mục bảng trong cơ sở dữ liệu không tốt, tạo vòng lặp vô hạn, sử dụng phông chữ khó đọc hoặc lựa chọn màu sắc khiến người dùng hoang mang.