DeepCode sẽ tìm lỗi trong mã nguồn phần mềm bằng AI

Ngày nay một công ty khởi nghiệp ở Thụy Sĩ Mã sâu, sử dụng trí tuệ nhân tạo và học máy để tự động phân tích mã, thông báo họ đã nhận được 4 triệu USD đầu tư từ các quỹ đầu tư mạo hiểm Earlybird, 3VC và Btov Partners. Công ty có kế hoạch sử dụng số tiền này để giới thiệu hỗ trợ cho các ngôn ngữ lập trình mới vào dịch vụ của mình cũng như tiếp thị sản phẩm trên thị trường CNTT toàn cầu.

DeepCode sẽ tìm lỗi trong mã nguồn phần mềm bằng AI

Phân tích mã là cần thiết để phát hiện lỗi, lỗ hổng tiềm ẩn, vi phạm định dạng và sớm hơn nữa trong quá trình phát triển phần mềm, trước khi mã được sử dụng ở bất kỳ đâu. Thông thường, quy trình này được thực hiện song song với việc phát triển mã mới và ngay sau khi hoàn thành, trước chính giai đoạn thử nghiệm. “Kiểm thử phần mềm xem xét mã từ bên ngoài, nhưng phân tích mã cho phép bạn xem xét mã từ bên trong,” đồng sáng lập và Giám đốc điều hành DeepCode, ông Boris Paskalev giải thích trong một cuộc phỏng vấn với VentureBeat.

Thông thường, việc đánh giá mã được thực hiện bởi các tác giả cùng với đồng nghiệp và người quản lý để xác định các lỗi rõ ràng trước khi chuyển sang các giai đoạn phát triển tiếp theo. Và dự án càng lớn thì càng cần kiểm tra nhiều dòng mã, điều này chiếm một lượng thời gian đáng kể của lập trình viên. Các công cụ giúp tăng tốc quá trình này đã có từ lâu, chẳng hạn như các công cụ phân tích mã tĩnh như Coverity và PVS-Studio, nhưng chúng có xu hướng bị hạn chế về khả năng khi tập trung vào “các vấn đề về phong cách, định dạng và định dạng khó chịu và lặp đi lặp lại”. những lỗi logic nhỏ,” Paskalev giải thích.

Ngược lại, DeepCode bao gồm nhiều vấn đề hơn, chẳng hạn như phát hiện các lỗ hổng như cơ hội cho tập lệnh chéo trang và chèn SQL, vì các thuật toán được nhúng trong đó không chỉ phân tích mã dưới dạng một tập hợp các ký tự mà còn cố gắng hiểu ý nghĩa và mục đích của công việc viết chương trình. Trọng tâm của điều này là một hệ thống máy học sử dụng hàng tỷ dòng mã từ các dự án nguồn mở có sẵn công khai để đào tạo. DeepCode phân tích các phiên bản trước của mã và những thay đổi tiếp theo được thực hiện đối với mã đó để nghiên cứu những lỗi nào và cách các lập trình viên thực sự sửa chữa công việc của họ, sau đó đưa ra các giải pháp tương tự cho người dùng. Ngoài ra, hệ thống còn sử dụng các thuật toán dự đoán truyền thống để tìm ra các vấn đề có thể xảy ra trong mã, giống như các máy phân tích tĩnh đã đề cập ở trên.

Một trong những câu hỏi quan trọng khi sử dụng DeepCode là: việc xem xét mã tự động có độ tin cậy như thế nào? Độ chính xác phân tích dưới 100% có nghĩa là các nhà phát triển vẫn sẽ phải phân tích mã của họ theo cách thủ công. Nếu vậy, việc sử dụng các công cụ để tự động hóa tác vụ này sẽ thực sự giải phóng được bao nhiêu thời gian? Theo Paskalev, DeepCode sẽ có thể tiết kiệm cho các nhà phát triển khoảng 50% thời gian mà họ hiện đang tự mình tìm kiếm lỗi, đây là một con số khá đáng kể.

Các nhà phát triển có thể kết nối DeepCode với tài khoản GitHub hoặc Bitbucket của họ và công cụ này cũng hỗ trợ các cấu hình GitLab cục bộ. Ngoài ra, dự án còn có API đặc biệt cho phép các nhà phát triển tích hợp DeepCode vào hệ thống phát triển của riêng họ. Sau khi kết nối với kho lưu trữ, DeepCode sẽ phân tích từng thay đổi mã và đánh dấu các vấn đề tiềm ẩn.

DeepCode sẽ tìm lỗi trong mã nguồn phần mềm bằng AI

Boris cho biết: “Trung bình, các nhà phát triển dành khoảng 30% thời gian để tìm và sửa lỗi, nhưng DeepCode có thể tiết kiệm một nửa thời gian đó ngay bây giờ và thậm chí nhiều hơn trong tương lai”. “Vì DeepCode học hỏi trực tiếp từ cộng đồng các nhà phát triển toàn cầu nên nó có thể tìm ra nhiều vấn đề hơn một người hoặc toàn bộ nhóm người đánh giá có thể tìm thấy.”

Ngoài tin tức nhận đầu tư hôm nay, DeepCode còn công bố chính sách giá trị mới cho sản phẩm của mình. Cho đến thời điểm hiện tại, DeepCode mới chỉ miễn phí cho các dự án phát triển phần mềm nguồn mở. Bây giờ nó sẽ được sử dụng miễn phí cho bất kỳ mục đích giáo dục nào và thậm chí cho các công ty thương mại có ít hơn 30 nhà phát triển. Rõ ràng, với bước này, những người tạo ra DeepCode muốn làm cho sản phẩm của họ trở nên phổ biến hơn trong các nhóm nhỏ. Ngoài ra, DeepCode tính phí 20 USD mỗi nhà phát triển mỗi tháng cho việc triển khai trên đám mây và 50 USD cho mỗi nhà phát triển đối với hỗ trợ địa phương.

Trước đây, nhóm DeepCode đã nhận được khoản đầu tư 1 triệu USD. Với 4 triệu khác, công ty cho biết họ có kế hoạch mở rộng các ngôn ngữ lập trình mà nó hỗ trợ ngoài Java, JavaScript và Python, bao gồm thêm hỗ trợ cho C#, PHP và C/C++. Họ cũng xác nhận rằng họ đang làm việc trên môi trường phát triển tích hợp của riêng mình.



Nguồn: 3dnews.ru

Thêm một lời nhận xét