SI wesprze zadanie debugowania kodu

Microsoft pracuje nad specyficzną metodą debugowania kodu bazującą na technologiach SI (sztuczna inteligencja) i głębokiego uczenia, która jest w stanie analizować programy i wyszukiwać w nich nieprawidłowości.

Grafika: Markus Spiske/Unsplash

Chociaż informatycy mają obecnie do dyspozycji dziesiątki narzędzi potrafiących analizować kody aplikacji pisane przy użyciu różnych języków oprogramowania, to naukowcy pracują ciągle nad nowymi, jeszcze doskonalszymi metodami wykrywania błędów. Okazuje się, że znajdowanie i naprawianie błędów w kodzie nie jest łatwą rzeczą, nawet wtedy gdy zadanie to wspiera sztuczna inteligencja.

Problemem tym zajęli się naukowcy z Microsoftu i opracowali bazujący na sztucznej inteligencji model noszący nazwę BugLab. Charakteryzuje się on tym, że sam nadzoruje proces uczenia się i naprawiania błędów, bez użycia znanych mu wcześniej wzorców takich błędów. Naukowcy nadali tej metodzie uczenia się nazwę „self-supervised learning”, co można przetłumaczyć jako samonadzorowane uczenie się, używając też roboczego określenia „hide-and-seek” (w potocznym znaczeniu zabawa w chowanego), które dobrze oddaje sposób działania tego mechanizmu.

Zobacz również:

  • Oprogramowanie szpiegujące na Androida korzysta z luk zero-day
  • Już jest Microsoft Visual Studio 2022 - co wprowadza?

Opracowali taki model głównie z powodu braku wystarczającej liczby wzorców błędów występujących w świecie rzeczywistym, które byłyby opatrzone stosownymi adnotacjami i na których mogliby trenować sztuczną inteligencję. BugLab ma na celu znalezienie trudnych do wykrycia błędów, które można co prawda wyszukiwać za pomocą tradycyjnych analiz programu, ale jest to bardzo trudne, wyjątkowo pracochłonne, kosztowne zadanie.

Twórcy tej metody uważają, że błędy znajdujące się kodzie można wyszukiwać nie tylko poprzez dokładne analizowanie poszczególnych poleceń, ale również przez odpowiednią, wspieraną przez sztuczną inteligencję interpretację dołączonych do kodu przez deweloperów wskazówek, które są napisane w języku naturalnym.

BugLab bazuje na dwóch podstawowych technologiach. Na samonadzorowanej metodzie głębokiego uczenia oraz technice kryjącej się za skrótem NLP (Natural Language Processing; przetwarzanie języka naturalnego). Znajdziemy tu też pewne elementy technologii GAN stosowanej w sieciach neuronowych, która jest w stanie nauczyć komputer kreatywnego myślenia. GAN to skrót od słów Generative Adversarial Networks, co można przetłumaczyć jako generatywne sieci współzawodniczące.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200