📞

Cuộc “xâm lăng” của công nghệ phần mềm

14:49 | 15/10/2017
Nhiều người cho rằng, ngành công nghệ phần mềm đang “xâm chiếm thế giới”. Ngày càng nhiều hệ thống quan trọng trước đây do con người điều khiển đang dần bị thay bằng những chuỗi mã hóa dài.

Giáo sư Nancy Leveson, người có nhiều năm kinh nghiệm nghiên cứu an toàn phần mềm tại Học viện Công nghệ Massachusetts (Mỹ) cho biết: “Khi chúng tôi cho lắp đặt các hệ thống lưới điện, chúng tôi đã tiến hành hàng loạt thử nghiệm để đảm bảo tính an toàn ở mức độ cao nhất có thể. Nhưng còn đối với công nghệ phần mềm, đây lại là điều hoàn toàn khác".

Ngoài những tiện ích, công nghệ phần mềm cũng gây ra nhiều sự cố kỹ thuật trong quá trình hoạt động. (Nguồn: The Atlantic)

"Chỉ cần thay đổi một chỗ trong một tập tin của hệ thống, người ta có thể biến khối nhựa vô tri trở thành cỗ máy làm được vô số việc thay cho con người một cách linh hoạt và chính xác. Mặc dù hiện nay, các phần mềm có thể thay đổi dễ dàng mọi lúc, mọi nơi mà không tốn nhiều chi phí, người ta luôn đặt tham vọng có thể xây dựng hệ thống cao cấp hơn mà có thể vượt qua khả năng điều khiển bằng trí tuệ của con người", giáo sư Leveson cho biết thêm.

Chưa nghĩ tới hậu quả

Phần mềm gặp sự cố là do bản thân chúng không thể nào có sự hiểu biết và trí tưởng tượng như con người. Đây cũng là những hóc búa với tất cả các lập trình viên khi thiết lập những chuỗi con số và ký tự. Đặc biệt, các lỗi phần mềm không thể phát hiện bằng mắt thường.

Sự tiến bộ của công nghệ đã thay đổi cách thế giới nhìn nhận sự vật. Chúng ta có thể xem vỉa hè đang được lát gạch như thế nào, đường chân trời đang rộng mở ra sao nhờ vào sự những công nghệ phần mềm hiện đại. Hình dung rằng, khi chúng ta làm việc trước máy tính với các phần mềm cũng tương tự như lúc điều khiển xe hơi. Tức là ta hoàn toàn đang điều khiển nó bằng những phần mềm chứ không hề có liên kết cơ học nào giữa bàn đạp thắng tới cái bánh xe cả, tay lái và bàn đạp đối với người ngồi giống như là bàn phím và con chuột máy tính. Xe hơi cũng giống như nhiều đồ điện tử khác được máy tính hóa để có thể cài đặt các phần mềm tiên tiến khác. Những chiếc xe có chế độ tự động đậu xe hay tự động giảm tốc độ khi khoảng cách đang quá gần với xe khác đều được lập trình bằng chuỗi mã hóa.

Phần mềm đã cho phép chúng ta chế tạo ra những cỗ máy phức tạp nhất từ trước đến nay và chúng thường có ở dưới dạng những con chip thu nhỏ, được gắn đâu đó trong thiết bị điện tử mà chúng ta không nhìn thấy được. Theo nhà khoa học máy tính nổi tiếng người Hà Lan Edsger Dijkstra, con người cần có những bộ óc tiên tiến để có thể kiểm soát những tiến bộ của phần mềm. Ông cảnh báo rằng những nhà lập trình viên thời hiện đại luôn háo hức cài đặt phần mềm vào những hệ thống quan trọng, nhưng họ chưa nghĩ tới những hậu quả về sau bởi vì họ đã đánh giá quá cao công dụng của những phần mềm đó.

Nhờ sự phát triển của công nghệ phần mềm, con người hầu như làm mọi việc thông qua một vài thao tác nhỏ. (Nguồn: The Atlantic)

Sự thờ ơ của các chuyên gia

Điều làm cho việc xử lý phần mềm khó khăn tới như vậy là do người ta buộc phải suy nghĩ như cách một phần mềm hoạt động. Giờ đây, họ giải quyết mọi thứ bằng cách thiết lập phần mềm mà người thường nhìn vào không thể biết được họ đang làm gì. Họ còn tạo ra các ngôn ngữ riêng cho máy tính như Fortran và C. Sự thật là không ai nhìn nhận và sửa chữa các lỗi một cách trực tiếp, mà họ chỉ tiếp tục tạo thêm phần mềm thay thế và viết hướng dẫn cho chúng mà thôi.

Ví dụ, trong một sự cố phần mềm điển hình vào năm 2009, cô Jean Bookout gặp tai nạn do sự cố hỏng hệ thống phần mềm dẫn đến kẹt phanh khi đang điều khiển chiếc Toyota Camry. Sau tai nạn đó cô bị hôn mê sâu suốt 1 tháng. Cô Jean đã yêu cầu hãng Toyota bồi thường, nhưng họ lại chối bỏ trách nhiệm và đổ lỗi cho thảm xe thiết kế quá bất tiện, bàn đạp “quá dính” và lỗi do người lái. Thậm chí, các nhà chức trách đã đưa các chuyên gia phần mềm từ NASA để phân tích vấn đề trong vòng 10 năm nhưng họ không thể đưa ra bất kỳ bằng chứng nào để chứng minh lỗi là do phần mềm hay không.

May sao ngay sau đó, trong quá trình cô Bookout kiện hãng xe Toyota, một nhân chứng bên nguyên đơn là Michael Barr đã chứng minh được lỗi là do phần mềm sau khi ông tiếp tục nghiên cứu những gì mà các chuyên gia NASA để lại, một loại mã phức tạp có tên là “spaghetti” đã làm rối loạn phần mềm. Những dòng mã hóa tự động chuyển sang mã “spaghetti” sau khi chiếc xe đã được sử dụng nhiều năm, những loại mã này cứ chồng lên nhau và lúc xảy ra tai nạn là lúc phần mềm đã nghẽn không thể tiếp tục xử lý thông tin. Bằng chứng của anh Barr đã được chấp nhận và nguyên đơn thắng kiện với số tiền bồi thường lên đến 3 triệu USD cho gia đình cô Bookout.

Vấn đề được đặt ra ở đây là các kỹ sư và lập trình viên cảm thấy vô cùng khó khăn để có thể bắt kịp tiến độ phát triển với những thứ mà họ làm ra, mặc dù ngày càng nhiều hệ thống quan trọng được lập trình và ngày càng phức tạp và kết nối với nhau. Nếu họ không thể bắt kịp, họ sẽ phải đương đầu với những tình huống xấu nhất có thể xảy ra. Không thể phủ nhận những tiện ích mà công nghệ phần mang lại cho người trong cuộc sống hiện đại.

Tuy nhiên, “kỹ thuật số hóa” tràn lan sẽ dần khiến con người trở nên bị động, lệ thuộc vào công nghệ. Các phần mềm có thể giúp con người làm việc với năng suất cao hơn, nhưng một lỗi xảy ra, các sự cố sẽ lan ra toàn bộ hệ thống và làm chúng hoạt động trì trệ, hoặc không hoạt động được. Đến lúc đó, thiệt hại gây là điều không thể tránh khỏi. Do đó, để đảm bảo tính an toàn và phục vụ tốt cho con người, các chuyên gia trong lĩnh vực công nghệ phần mềm cần có những biện pháp quản lý, nâng cấp cũng như sửa chữa các phần mềm để giảm thiểu các rủi ro khi vận hành.

(theo The Atlantic)