Microsoft rozwija sztuczną inteligencję, która potrafi znaleźć błędy w kodzie

Ikona czasu czytania 2 minuta. czytać


Czytelnicy pomagają wspierać MSpoweruser. Możemy otrzymać prowizję, jeśli dokonasz zakupu za pośrednictwem naszych linków. Ikona podpowiedzi

Przeczytaj naszą stronę z informacjami, aby dowiedzieć się, jak możesz pomóc MSPoweruser w utrzymaniu zespołu redakcyjnego Czytaj więcej

Badacze z firmy Microsoft opracowali sztuczną inteligencję, która może znajdować błędy w kodzie, pomagając programistom w dokładniejszym i wydajniejszym debugowaniu ich aplikacji.

Naukowcy Miltos Allamanis, główny badacz i Marc Brockschmidt, starszy główny kierownik ds. badań opracowali sztuczną inteligencję, BugLabs, w podobny sposób, w jaki tworzone są generatywne sieci adwersyjne (GAN).

Microsoft zestawił ze sobą dwie sieci – jedną zaprojektowaną w celu wprowadzenia małych błędów w istniejącym kodzie, a drugą mającą na celu znalezienie tych błędów. Dwie sieci stawały się coraz lepsze, co zaowocowało sztuczną inteligencją, która była dobra w identyfikowaniu błędów ukrytych w prawdziwym kodzie.

Zaletą tego podejścia było to, że proces był całkowicie samonadzorowany i nie wymagał oznakowanych danych.

Podają wyniki jak poniżej:

Teoretycznie moglibyśmy szeroko zastosować grę w chowanego, ucząc maszynę rozpoznawania dowolnie złożonych błędów. Jednak takie błędy są nadal poza zasięgiem nowoczesnych metod sztucznej inteligencji. Zamiast tego koncentrujemy się na zestawie często pojawiających się błędów. Należą do nich nieprawidłowe porównania (np. użycie „<=” zamiast „<” lub „>”), nieprawidłowe operatory logiczne (np. użycie „and” zamiast „or” i na odwrót), niewłaściwe użycie zmiennych (np. nieprawidłowe użycie „i” zamiast „j”) i kilka innych. Aby przetestować nasz system, skupiamy się na kodzie Pythona.

Gdy nasz wykrywacz zostanie przeszkolony, używamy go do wykrywania i naprawiania błędów w rzeczywistym kodzie. Aby zmierzyć wydajność, ręcznie opatrujemy mały zbiór błędów z pakietów w indeksie pakietów Pythona takimi błędami i pokazujemy, że modele wytrenowane za pomocą naszej metody „ukryj i szukaj” są nawet o 30% lepsze w porównaniu z innymi alternatywami, np. detektory wyszkolone z losowo wstawianymi błędami. Wyniki są obiecujące, pokazując, że około 26% błędów można znaleźć i naprawić automatycznie. Wśród błędów znalezionych przez nasz wykrywacz było 19 nieznanych wcześniej błędów w prawdziwym kodzie GitHub o otwartym kodzie źródłowym. Jednak wyniki pokazały również wiele fałszywie pozytywnych ostrzeżeń, co sugeruje, że potrzebne są dalsze postępy, zanim takie modele będą mogły zostać praktycznie wdrożone.

Doszli do wniosku, że ich podejście jest obiecujące, choć oczywiście potrzeba znacznie więcej pracy, aby takie detektory były niezawodne w praktycznym użyciu. Dany GPT-3 firmy Microsoft działa na GitHub jednak jest całkiem możliwe, że praca ta może w końcu zostać skomercjalizowana.

Przeczytaj ich cały artykuł tutaj.

Więcej na tematy: ai, deweloperzy, Microsoft