Một nghiên cứu cho thấy Rust giúp các nhà phát triển mới tham gia các dự án nguồn mở dễ dàng hơn

biểu tượng rỉ sét

Rust là một ngôn ngữ lập trình được biên dịch đa mô hình, có mục đích chung.

Cách đây vài ngày, có thông tin về việc kết quả điều tra trong đó cho thấy Rust có tiềm năng thu hút và tạo điều kiện cho những người mới đến người đóng góp cho các dự án nguồn mở, đồng thời nhận ra việc giảm thiểu các lỗ hổng.

Nghiên cứu được thực hiện bởi các thành viên của Đại học Waterloo, Canada thông qua nghiên cứu dự án Oxidation của Mozilla, các tác giả tiết lộ rằng ngôn ngữ Rust làm giảm đáng kể khả năng những người đóng góp mới đưa các lỗ hổng vào mã so với C++.

Ngoài ra, còn đề cập đến việc nghiên cứu cũng đánh giá các lỗ hổng của Rust trong các dự án nguồn mở và đo lường tính hiệu quả của thuật toán SZZ trong việc xác định các cam kết gây ra lỗi.

Và không có gì đáng ngạc nhiên khi Rust đã nằm trong số những ngôn ngữ lập trình hàng đầu được nhiều người ưa thích, đồng thời là một trong những ngôn ngữ được khuyên dùng nhiều nhất cho những người mới bắt đầu bước vào thế giới lập trình.

Đối với những người vẫn chưa biết về Rust, bạn nên biết rằng đây là ngôn ngữ lập trình được biên dịch đa mô hình được Mozilla Research thiết kế và phát triển từ năm 2010. Nó được thiết kế để trở thành "một ngôn ngữ thực tế, đồng thời và đáng tin cậy", hỗ trợ các mô hình chức năng thuần túy của các tác nhân, thủ tục và hướng đối tượng ở một số khía cạnh nhất định. Do chính sách của Mozilla, Rust được phát triển hoàn toàn công khai và yêu cầu phản hồi, đóng góp từ cộng đồng. Thiết kế ngôn ngữ dần được cải thiện nhờ phản hồi của nhóm, với phần lớn sự đóng góp đến từ cộng đồng.

Nhóm nghiên cứu đề cập trong ấn phẩm của ông có tựa đề «Chấm điểm theo đường cong: Làm thế nào Rust có thể tạo điều kiện thuận lợi cho những người đóng góp mới đồng thời giảm thiểu các lỗ hổng bảo mật", gì Những người đóng góp mới là cần thiết cho các dự án nguồn mở, vàbởi vì nếu không có họ, dự án cuối cùng sẽ teo lại và không hoạt động, hoặc những người đóng góp kinh nghiệm sẽ làm sai lệch hướng đi trong tương lai của dự án.

Tuy nhiên, người nộp thuế mới Họ cũng có thể gặp rủi ro cao hơn khi đưa ra mã dễ bị tấn công. Đối với các dự án cần triển khai an toàn và cộng đồng những người đóng góp mạnh mẽ, đa dạng, xung đột này là một vấn đề luôn phải được tính đến. Chính vì điều đó Trong cuộc điều tra có đề cập rằng một trong những tuyến đường được lên kế hoạch Để đạt được mục tiêu này, để giảm khả năng đưa mã dễ bị tấn công, bao gồm việc viết lại các phần tử của mã C hoặc C++ trong Rust, một ngôn ngữ được thiết kế để áp dụng cho cùng các miền như C và C++, nhưng có đảm bảo bảo mật cao hơn.

Để xác định xem Rust có thể giúp ngăn chặn những người đóng góp mới tạo ra các lỗ hổng và do đó giảm bớt gánh nặng cho người bảo trì hay không, chúng tôi đã kiểm tra dự án Oxidation của Mozilla, dự án thay thế các thành phần của trình duyệt web Firefox bằng các thành phần tương đương được viết bằng Rust.

Các nhà nghiên cứu dựa vào việc thu thập dữ liệu có sẵn của các dự án này để rút ra các tham số cho đường cong học tập của một ứng dụng mới và cũng được sử dụng để ước tính tỷ lệ các thay đổi gây ra lỗ hổng bảo mật mới cho người đóng góp theo cách có thể so sánh trực tiếp.

Chúng tôi nhận thấy rằng, bất chấp những lo ngại về khả năng sử dụng, những người đóng góp mới cho các dự án Rust có khả năng gây ra lỗ hổng ít hơn khoảng 70 lần so với những người đóng góp mới cho các dự án C++.

Nghiên cứu tiết lộ rằng tỷ lệ người đóng góp mới tăng lên tổng thể sau khi chuyển sang Rust, ngụ ý rằng việc giảm lỗ hổng của người đóng góp mới này không phải là kết quả của một nhóm nhỏ hơn gồm các nhà phát triển có tay nghề cao hơn và trên thực tế, Rust có thể tạo điều kiện cho sự xuất hiện của những người đóng góp mới. những người đóng góp mới cho các dự án nguồn mở.

Đồng thời, họ đề cập rằng họ đã tiến hành phân tích định tính về các lỗ hổng Rust trong các dự án này và dựa trên đó, họ tiến hành đo lường tính hiệu quả của thuật toán SZZ phổ biến trong việc xác định các cam kết gây ra lỗi từ các bản sửa lỗi của họ.

Cuối cùng nếu bạn muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.