Microsoft phát triển AI có thể tìm lỗi trong mã

Biểu tượng thời gian đọc 2 phút đọc


Bạn đọc giúp đỡ ủng hộ MSpoweruser. Chúng tôi có thể nhận được hoa hồng nếu bạn mua thông qua các liên kết của chúng tôi. Biểu tượng chú giải công cụ

Đọc trang tiết lộ của chúng tôi để tìm hiểu cách bạn có thể giúp MSPoweruser duy trì nhóm biên tập Tìm hiểu thêm

Các nhà nghiên cứu tại Microsoft đã phát triển một AI có thể tìm ra lỗi trong mã, giúp các nhà phát triển gỡ lỗi ứng dụng của họ chính xác và hiệu quả hơn.

Các nhà nghiên cứu Miltos Allamanis, Nhà nghiên cứu chính và Marc Brockschmidt, Giám đốc Nghiên cứu Chính cấp cao đã phát triển AI của họ, BugLabs, giống như cách tạo ra Mạng đối thủ chung (GAN).

Microsoft thiết lập hai mạng chống lại nhau - một mạng được thiết kế để đưa các lỗi nhỏ vào mã hiện có và một mạng khác nhằm mục đích tìm ra những lỗi đó. Hai mạng ngày càng trở nên tốt hơn, dẫn đến một AI có khả năng xác định tốt các lỗi ẩn trong mã thực.

Ưu điểm của phương pháp này là quá trình hoàn toàn tự giám sát và không cần dữ liệu được dán nhãn.

Họ báo cáo kết quả như sau:

Về lý thuyết, chúng ta có thể áp dụng rộng rãi trò chơi trốn tìm, dạy một cỗ máy xác định những lỗi phức tạp tùy ý. Tuy nhiên, những lỗi như vậy vẫn nằm ngoài tầm với của các phương pháp AI hiện đại. Thay vào đó, chúng tôi đang tập trung vào một tập hợp các lỗi thường xuất hiện. Chúng bao gồm so sánh không chính xác (ví dụ: sử dụng “<=” thay vì “<” hoặc “>”), toán tử Boolean không chính xác (ví dụ: sử dụng “và” thay vì “hoặc” và ngược lại), sử dụng sai biến (ví dụ: sử dụng sai “I” thay vì “j”) và một số từ khác. Để kiểm tra hệ thống của chúng tôi, chúng tôi tập trung vào mã Python.

Sau khi trình phát hiện của chúng tôi được đào tạo, chúng tôi sẽ sử dụng nó để phát hiện và sửa chữa các lỗi trong mã cuộc sống thực. Để đo lường hiệu suất, chúng tôi chú thích theo cách thủ công một tập dữ liệu nhỏ về lỗi từ các gói trong Chỉ mục gói Python có các lỗi như vậy và cho thấy rằng các mô hình được đào tạo bằng phương pháp “trốn tìm” của chúng tôi tốt hơn tới 30% so với các lựa chọn thay thế khác, ví dụ: máy dò được đào tạo với các lỗi được chèn ngẫu nhiên. Kết quả đầy hứa hẹn, cho thấy khoảng 26% lỗi có thể được tìm thấy và sửa tự động. Trong số các lỗi mà máy dò của chúng tôi tìm thấy có 19 lỗi chưa từng biết trước đây trong mã GitHub nguồn mở ngoài đời thực. Tuy nhiên, kết quả cũng cho thấy nhiều cảnh báo dương tính sai, cho thấy rằng cần phải có những tiến bộ hơn nữa trước khi các mô hình như vậy có thể được triển khai trên thực tế.

Họ kết luận rằng cách tiếp cận của họ đầy hứa hẹn, mặc dù tất nhiên cần phải làm việc nhiều hơn nữa để làm cho các máy dò như vậy trở nên đáng tin cậy để sử dụng trong thực tế. Được GPT-3 của Microsoft hoạt động trên GitHub tuy nhiên, rất có thể tác phẩm này cuối cùng có thể được thương mại hóa.

Đọc toàn bộ bài báo của họ tại đây.

Thông tin thêm về các chủ đề: ai, phát triển, microsoft