11/08/2018, 15:40

Một vài bug nổi tiếng trong ngành khoa học máy tính

Có một sự thật phổ biến là những phần mềm trong quá trình phát triển luôn có bug (lỗi), thậm chí đối với sản phẩm đã được phát hành và đưa vào sử dụng. Ngay cả khi rất nhiều nỗ lực được bỏ ra để phát triển sản phẩm thì kết quả cuối cùng vẫn là một chương trình có chứa bug. Những ...

Có một sự thật phổ biến là những phần mềm trong quá trình phát triển luôn có bug (lỗi), thậm chí đối với sản phẩm đã được phát hành và đưa vào sử dụng. Ngay cả khi rất nhiều nỗ lực được bỏ ra để phát triển sản phẩm thì kết quả cuối cùng vẫn là một chương trình có chứa bug.

Những lỗi này dường như khá nhỏ và chỉ hơi phiền toái đối với người dùng bình thường. Không có lỗi thì sản phẩm hoạt động mượt mà trơn tru, còn nếu có lỗi thì người dùng vẫn chấp nhận và tiếp tục sử dụng. Tuy nhiên, đôi khi những lỗi bé bé ấy lại có thể gây ra thảm hoạ, kết cục là tổn thất về người và tài sản.

Bài viết này sẽ trình bày về một vài lỗi nghiêm trọng đã từng xảy ra trong lịch sử ngành khoa học máy tính.

1. Vụ nổ tên lửa đẩy Arian 5

Ariane 5 là tên lửa đẩy để hỗ trợ phóng tàu vũ trụ. Nó đã phát nổ khoảng 40 giây sau khi khởi động do một lỗi rất phổ biến là tràn bộ nhớ đối với số nguyên (integer overflow). Lỗi này xảy ra khi chúng ta cố gắng lưu trữ một số nguyên lớn hơn giá trị lớn nhất có thể lưu được trong bộ nhớ đối với một kiểu dữ liệu cụ thể. Theo tính toán, thiệt hại của sự kiện này lên đến 370 triệu USD.

2. Sự cố Y2K

Trong suốt những năm 1960, những kỹ sư máy tính chỉ sử dụng 2 chữ số để biểu diễn đơn vị đo thời gian năm. Theo đó, năm 1970 sẽ được biểu diễn là 70. Lý do của việc làm này là để giảm kích thước giá trị khi lưu trữ vào bộ nhớ: chỉ lưu 2 chữ số cuối thay vì phải lưu cả 4 chữ số biểu diễn năm. Cách thức lưu trữ này hoạt động tốt đến tận ngày 31/12/1999. Nhưng, sang ngày 1/1/2000, nhiều máy tính hiểu nhầm đó là năm 1900. Để giải quyết bug bé bé này, các chuyên gia máy tính đã phải làm việc rất nhiều.

3. Hệ thống tín dụng PayPal

Một người đàn ông tên là Chris Reynolds đến từ bang Pennsylvania, Hoa Kỳ đã trở thành người giàu nhất thế giới khi hệ thống tín dụng của PayPal đã tính toán nhầm, vô tình gia tăng số tiền trong tài khoản của người này lên con số lớn không thể tưởng tượng được: 1 triệu tỷ USD! (Hiện tại, GDP một năm của cả thế giới vẫn chưa đạt mốc 100 nghìn USD)

4. Hệ thống đánh chặn tên lửa

28 lính Mỹ đã thiệt mạng và 98 người bị thương khi một tên lửa của Iraq tấn công vào doanh trại đồn trú của họ. Hệ thống đánh chặn đã thất bại trong việc phát hiện và ngăn chặn quả tên lửa này bởi vì có bug trong phần mềm máy tính.

5. Điệu nhảy Gangnam Style làm YouTube điêu đứng

(Hiện tại (06/2017), video Gangnam Style đã đạt mốc gần 2,9 tỷ lượt xem)

Khi YouTube được phát triển, kiểu dữ liệu số nguyên có dấu 32 bit được sử dụng để lưu trữ số lượt xem của video. Tại thời điểm đó, không ai nghĩ rằng một video có thể đạt tới lượng view lớn hơn giới hạn tối đa của số nguyên có dấu 32 bit (khoảng 2,14 tỷ). Nhưng Gangnam Style đã phá kỷ lục này! Sau khi vượt quá giới hạn, bộ đếm lượt truy cập hiển thị giá trị số âm!? Các kỹ sư của Google đã sửa lỗi này bằng cách sử dụng kiểu số nguyên có dấu 64 bit để lưu trữ số lượt view, nâng con số tối đa lên khoảng 4,3 tỷ. Có lẽ một thời gian dài dài nữa giới hạn này mới bị xô đổ.

Bài viết sẽ kết thúc ở đây. Cảm ơn các bạn đã đón đọc.

Techtalk Via Viblo

0