5 lỗi phần mềm kinh khủng nhất trong lịch sử nhân loại

Điều này cũng không có gì là khó hiểu khi mà Internet của sự vật (Internet of Things) đã xâm nhập vào tất cả khía cạnh của đời sống, môi trường và xã hội. Dưới đây là 5 lỗi phần mềm kinh khủng nhất đã đi vào lịch sử nhân loại:
1) Nơi phát sinh của mọi loại lỗi
Sau khi phát hiện một con bướm mắc kẹt bên trong chiếc máy tính Harvard Mark II vào 03:45 ngày 9/9/1947, Grace Murray Hopper đã ghi lại thông tin vào cuốn nhật kí, trong đó có đoạn: “con bọ thực tế đầu tiên được tìm thấy”. Ngày nay, thuật ngữ "bug" (lỗi) trong khoa học máy tính không được hiểu theo nghĩa đen, mà nó dùng để nói về một lỗ hổng hoặc thất bại do chương trình máy tính gây ra, dẫn tới những tai nạn hoặc kết quả bất ngờ. 

5 lỗi phần mềm kinh khủng nhất trong lịch sử nhân loại ảnh 1

2) Lỗi Y2K
Năm 1999 là một năm tuyệt vời cho tờ báo lá cải và báo giật gân, có lẽ rất nhiều người đều đã từng một lần nghe nói đến sự cố Y2K, diễn ra trong khoảng thời gian chuyển tiếp giữa hai thiên niên kỉ mới (1999 – 2000).
Trong thế kỷ trước, các nhà phát triển phần mềm đã cho rằng con số “19” đứng trước biến “năm” là một sự lãng phí bộ nhớ không cần thiết, nên đã quyết định bỏ qua hai chữ số này. Ví dụ, năm 1998 thì chỉ viết “98”…  
Tất cả đều tốt đẹp cho đến khi mọi thứ sắp chuyển sang năm 2000, chính xác hơn là ngày 31/12/1999. Nhiều nhà khoa học lo lắng về việc hệ thống máy tính trên thế giới sẽ cập nhật thành ngày 01/01/1900 chứ không phải là năm 2000, dẫn đến nhiều thảm họa lớn và đánh dấu sự kết thúc của nhân loại. 

5 lỗi phần mềm kinh khủng nhất trong lịch sử nhân loại ảnh 2

Tuy nhiên, may mắn là các tên lửa hạt nhân đã không được kích hoạt, máy bay đã không bị rơi và những tài khoản của ngân hàng, thông tin sổ tiết kiệm đã không bị biến mất.  
Lỗi Y2K là có thật, tuy nhiên hàng tỷ USD đã được chi ra để nâng cấp hệ thống máy tính trên toàn thế giới. Nhưng vẫn xuất hiện một số sự cố nhỏ đã được báo cáo lại, chẳng hạn như tại Tây Ban Nha, một số bãi đậu xe đã không hoạt động, Viện khí tượng Pháp công bố thời tiết trên trang web cho ngày 01/01/19100…
3) Tên lửa Dhahran
Trong tháng 2 năm 1991 (Chiến tranh vùng Vịnh lần thứ nhất), một tên lửa Iraq đã phóng thành công vào một căn cứ của Mỹ tại Ả Rập Saudi, giết chết 28 binh sĩ Mỹ.
Sau một cuộc điều tra, sự cố đã được xác định là do hệ thống antiballistic của căn cứ đã không thể khởi động vì một lỗi máy tính: pin phóng tên lửa Patriot, giữ vai trò phát hiện và đánh chặn tên lửa đối phương trên không đã khôn được kích hoạt. Cứ sau mỗi giờ, đồng hồ bên trong tên lửa lại trật đi vài mili giây, do đó sau 100 tiếng đã mất đi khoảng 0,33 giây nên đã gây hậu quả kinh khủng như trên. 

5 lỗi phần mềm kinh khủng nhất trong lịch sử nhân loại ảnh 3

Đối với một người, 0,33 giây chẳng là gì, nhưng đối với một radar thì đó là cả một thảm họa. Chẳng hạn như radar đang cố gắng theo dõi tên lửa Al Hussein Scud, có thể đạt đến vận tốc Mach 4,2 (1,5 km mỗi giây/0,88 dặm mỗi giây), tuy nhiên vì lỗi nhỏ bên trên mà việc xác định khoảng cách theo dõi có thể bị lệch đi 600 mét, dẫn tới nguyên nhân tên lửa đánh chặn đã không được kích hoạt. 
4) Feet hay Meter?
Mars Climate Orbiter (tàu thăm dò sao Hỏa) đã được phóng đi vào năm 1998 với mục tiêu nghiên cứu khí hậu trên sao Hỏa mặc dù nó đã không hoàn thành được sứ mệnh của mình. 
Sau khi di chuyển trong không gian vài tháng, tàu thăm dò đã bị phá hủy vì một lỗi điều hướng, lí do là bởi nhóm người kiểm soát từ Trái đất đã sử dụng đơn vị Feet trong khi các phần mềm tính toán trên tàu thì sử dụng hệ Meter (mét). Những tính toán sai lầm đã khiến con tàu lệch đi khoảng 100km và bị phá hủy do ma sát với bầu khí quyển của sao Hỏa.

5 lỗi phần mềm kinh khủng nhất trong lịch sử nhân loại ảnh 4

5) Quá nhiều chữ số cho Ariane 5
Khi lập trình, nhà phát triển phải xác định sẵn các biến cần sử dụng cũng như kích thước của biến đó trong bộ nhớ máy tính. Số lượng bộ nhớ của một biến sẽ được thể hiện trong các bit. 
Ví dụ 16-bit sẽ có giá trị trong khoảng từ -32,768 đến 32,767. Và một biến 64-bit sẽ có giá trị từ -9.223.372.036.854.775.808 đến 9.223.372.036.854.775.807 (gần như vô hạn).

5 lỗi phần mềm kinh khủng nhất trong lịch sử nhân loại ảnh 5

Ngày 04/06/1996, chỉ 30 giây sau khi được khởi động, tên lửa Ariane 5 đã nổ tung trên bầu trời, giống như một trận bắn pháo hoa. Sự cố này là do lỗi mô phỏng hệ thống tương tự với phiên bản Ariane 4 cũ, biến 64-bit có số thập phân đã được chuyển thành biến 16-bit mà không có số thập phân.
Vì sự khác biệt về kích cỡ nên đã gây ra hàng loạt lỗi trong bộ nhớ, ảnh hưởng đến máy tính trên tàu, làm tê liệt hệ thống và phát nổ, tiêu tốn 370 triệu USD chỉ do một phần mềm.

Đọc thêm