Android

Làm thế nào để tránh sự cố phần mềm

BáoNóiAZ - 5 triệu chứng u não mà bạn không nên bỏ qua

BáoNóiAZ - 5 triệu chứng u não mà bạn không nên bỏ qua

Mục lục:

Anonim

Trong kỷ nguyên kỹ thuật số này, bạn hẳn đã nghe nói về những gã khổng lồ truyền thông xã hội như Facebook và Twitter và các nền tảng thương mại điện tử như Alibaba và Amazon. Các trang web trực tuyến này dựa trên các gói phần mềm khác nhau cho hoạt động của họ. Những chương trình này đã thay đổi hoàn toàn cách chúng ta làm việc, suy nghĩ và sống.

Bên cạnh đó, nhiều thiết bị trước đây chỉ mang tính chất cơ học, giờ được điều khiển bằng phần mềm. Ví dụ, máy điều nhiệt đã từng là thiết bị cơ điện. Tuy nhiên, bây giờ họ phụ thuộc rất nhiều vào phần mềm để vận hành.

Tuy nhiên, lỗi phần mềm có thể khá rắc rối, đặc biệt là sự phụ thuộc ngày càng tăng của chúng tôi vào chúng cho các hoạt động hàng ngày. Trên thực tế, thực tế đã có khá nhiều trường hợp phần mềm không đạt được mục đích của nó, dẫn đến kết quả khó chịu.

, chúng tôi nói về 4 lần mà hiệu suất phần mềm chủ yếu bị mất dấu và làm thế nào để tránh các vấn đề phần mềm như vậy.

Cũng đọc: 10 lý do bạn không nên vội vàng khi mua iPhone X

1. Mất điện 911 nhiều bang

911 là một dịch vụ quan trọng, cho phép các cá nhân liên lạc với nhân viên cấp cứu bất cứ khi nào cần thiết. Đôi khi, liên lạc với những người điều phối khẩn cấp qua 911 có thể tạo ra sự khác biệt giữa sự sống và cái chết.

Do đó, thật là thảm họa khi vào ngày 9 tháng 4 năm 2014, việc định tuyến cuộc gọi 911 đã thất bại ở bảy tiểu bang của Hoa Kỳ, bao gồm California, Florida, Minnesota, Bắc Carolina, Pennsylvania, Nam Carolina và Washington.

Sự cố ngừng hoạt động này là do lỗi mã hóa có thể phòng ngừa được, xảy ra tại một trung tâm quản lý cuộc gọi khẩn cấp ở Colorado thuộc sở hữu của Intrado.

2. Tiếp đất của Hạm đội United Airlines

Vào tháng 7 năm 2015, United Airlines đã buộc phải hạ cánh toàn bộ đội máy bay của mình do trục trặc phần mềm. Điều này ảnh hưởng đến hơn 4.900 chuyến bay trên toàn cầu và khiến nhiều hành khách bị mắc kẹt tại các sân bay và rõ ràng là rất thất vọng.

Có lẽ cũng có một tác động kinh tế vì hãng hàng không sẽ phải bồi thường cho nhiều hành khách vì sự bất tiện này. Có lẽ cũng có một vài cuộc họp kinh doanh quan trọng đã bị xáo trộn vì căn cứ.

3. Trục trặc bàn đạp ga Toyota Camry

Vào tháng 9 năm 2007, Jean Bookout đang đi trên Xa lộ Liên tiểu bang 69 tại Oklahoma cùng với hành khách Barbara Schwarz, khi cô gặp khó khăn khi điều khiển chiếc Toyota Camry của mình.

Cô cố gắng nhấc chân khỏi chân ga nhưng chiếc xe vẫn tiếp tục tăng tốc. Bàn đạp phanh không thể dừng xe và cô buộc phải sử dụng phanh khẩn cấp.

Thật không may, điều này đã gửi chiếc xe chăm sóc vào một bờ kè. Kết quả là Schwarz đã chết và Bookout phải nhập viện trong năm tháng vì những vết thương nghiêm trọng.

Nó đã được suy đoán rằng vụ tai nạn xảy ra do một số bất cập mã hóa dẫn đến sự cố của một nhiệm vụ trong CPU của Camry. CPU này sẽ điều khiển một số lượng lớn các chức năng, bao gồm đánh lửa, điều khiển bướm ga và điều khiển hành trình.

Mã của Toyota đã trở thành một mớ hỗn độn sau vài năm các mã mới được chất đống trên các mã cũ. Điều này thường được gọi là "mã spaghetti".

Mã Spaghetti phức tạp không cần thiết và làm cho nó gần như không thể tìm thấy lỗi. Hơn nữa, Toyota cũng đã vi phạm một số quy tắc an toàn trong mã hóa của họ. Cần lưu ý rằng đây không phải là một trường hợp riêng biệt về khả năng tăng tốc ngoài ý muốn trong một chiếc Toyota.

Tuy nhiên, tai nạn của Bookout đã đưa vấn đề này ra ánh sáng và làm nổi bật những sai sót của Toyota trong quy trình phần mềm của họ. Thậm chí người ta còn phát hiện ra rằng có hơn 10 triệu cách để tăng tốc không mong muốn có khả năng xảy ra, dựa trên cách cấu trúc mã của Toyota.

Tổ yến thất bại

Nest là một công ty, thuộc sở hữu của Alphabet, chuyên sản xuất máy điều nhiệt thông minh. Những máy điều nhiệt này khá tiện lợi và cho phép người dùng kiểm soát nhiệt độ trong nhà từ điện thoại thông minh của họ.

Mùa đông năm ngoái, máy điều nhiệt Nest đã gặp sự cố ở dạng cập nhật phần mềm bị lỗi, khiến pin của chúng bị cạn kiệt. Thật không may, lỗi này xảy ra vào giữa mùa đông, khiến một số người dùng không có nhiệt tạm thời. Đây chắc chắn là điều bạn không muốn xảy ra vào thời điểm này trong năm.

Xem tiếp: Ảnh tự sướng không tầm thường như phương tiện truyền thông xã hội đã khiến họ đến muộn

Phân tích tóm tắt các vấn đề phần mềm

Các cách tiếp cận như thiết kế dựa trên mô hình và TLA + cho phép các nhà phát triển có được cái nhìn tổng quan về bức tranh lớn hơn về cách thức hoạt động của phần mềm của họ.

Brett Victor, một nhà nghiên cứu máy tính nổi tiếng, cho rằng có sự mất kết nối giữa các lập trình viên và các vấn đề họ đang cố gắng giải quyết bằng mã.

Do sự mất kết nối này, các lập trình viên trở nên khó hình dung những gì họ đang cố gắng đặt mã. Victor nghĩ rằng đây là một trong những yếu tố góp phần làm cho phần mềm trở nên đầy rẫy lỗi.

Tuy nhiên, có hy vọng. Các cách tiếp cận như thiết kế dựa trên mô hình và TLA + cho phép các nhà phát triển có được cái nhìn tổng quan về bức tranh lớn hơn về cách thức hoạt động của phần mềm của họ.

Thiết kế dựa trên mô hình, như tên cho thấy, cho phép phát triển phần mềm thông qua các mô hình trực quan. TLA +, viết tắt của Temporal Logic of Action, là ngôn ngữ được thiết kế để viết các thông số kỹ thuật của chương trình máy tính. Điều tuyệt vời về TLA + là nó cho phép kiểm tra toàn diện và xác minh phần mềm trước khi nó được công khai.

Cả thiết kế dựa trên mô hình và TLA + đã chứng minh muối của họ. Esterel Technologies, một công ty phát triển phần mềm, sử dụng thiết kế dựa trên mô hình để xây dựng phần mềm quan trọng về an toàn trong khi TLA + đã được Microsoft sử dụng để sửa lỗi Xbox thảm khốc có thể và Cơ quan Vũ trụ Châu Âu viết lại mã cho một đầu dò hạ cánh trên một sao chổi.

Quá trình viết mã được các lập trình viên đánh giá cao. Nhiều người trong số họ khá đơn giản bị hấp dẫn bởi quá trình viết mã. Do đó, đây là một thách thức để khiến một số lập trình viên chấp nhận các phương pháp như thiết kế dựa trên mô hình và TLA +. Những cách tiếp cận này thường được coi là học thuật nghiêm ngặt không có khả năng tồn tại trong thế giới thực. Tuy nhiên, một sự thay đổi quan điểm phải đến càng sớm càng tốt.

Cũng đọc: Chúng tôi đang đẩy trẻ em của chúng tôi về phía mù

Suy nghĩ cuối cùng

Phần mềm ngày càng được sử dụng trong các ứng dụng yêu cầu các biện pháp phòng ngừa an toàn tích hợp. Các phương pháp thiết kế phần mềm tốt hơn phải được giới thiệu trên bảng vì các ứng dụng như vậy rất quan trọng trong cuộc sống của chúng ta.

Các quy trình như tự động hóa phụ thuộc rất nhiều vào phần mềm ngày nay nhưng một lỗi trong một dòng mã có thể dẫn chúng ta đến những thất bại lớn như các trường hợp trên cho thấy.

Bây giờ, hãy tưởng tượng một cái gì đó giống như Trí tuệ nhân tạo (AI) được tích hợp vào các ứng dụng này. AI là đủ đáng sợ trên chính nó mà không có trục trặc phần mềm. Thêm lỗi vào hỗn hợp và không biết điều gì có thể xảy ra.

Tuy nhiên, có một lớp lót bạc ở đây. Với một chút công việc và một số công cụ mới, chúng ta có thể tạo ra phần mềm và AI tốt hơn bằng cách thiết kế nó hợp lý hơn và thử nghiệm nó với các đinh tán của nó.

Chúng ta hãy hy vọng rằng vấn đề quan trọng này được các cơ quan hữu quan thực hiện nghiêm túc để chúng ta có thể sử dụng phần mềm với toàn bộ tiềm năng của nó nhưng chỉ để xây dựng một tương lai an toàn và thông minh hơn.

Xem tiếp: Trí tuệ nhân tạo: Các loại và tương lai nó nắm giữ cho con người