6

Mozilla obiecuje: „w Firefoksie będzie mniej błędów”. Świetny sposób

Programowanie w wykonaniu ludzi jest rzecz jasna bardzo kreatywne, ale również narażone jest na przeróżne błędy. Testerzy i osoby odpowiedzialne za likwidowanie "bugów" mają bardzo wiele pracy w przypadku ogromnych projektów. Mozilla postanowiła nieco ich odciążyć i wdrożyć rozwiązanie w części automatyzujące ten proces.

Co byście powiedzieli na to, gdyby błędy w kodzie mogła wychwytywać… wytrenowana do tego maszyna? Nie jest to podejście absolutnie nowe, ale zdecydowanie warte uwagi. Zresztą, podobne mechanizmy jednak używane w zupełnie innym kontekście to także domena cyberbezpieczeństwa. Pisaliśmy dla Was ostatnio o superszybkim komputerze, który samodzielnie jest w stanie wychwytywać podatności w programach komputerowych. „Ludzcy” hakerzy w dalszym ciągu mogą spać spokojnie (jeszcze), ale automatyzacja procesów wymagających od człowieka kreatywności i nietuzinkowego podejścia może być sposobem na zaoszczędzenie sporych pieniędzy. Jak wiemy, eksperci ds. cyberbezpieczeństwa są „drodzy”, testerzy oraz wytrawni deweloperzy również uwielbiają niemałe pieniądze. A maszyna? Maszyna zrobi wiele rzeczy szybciej i nawet lepiej – w bardzo krótkim czasie.

Mozilla będzie poszukiwać błędów w kodzie za pomocą machine learningu

Mozilla nie będzie bazować na własnym rozwiązaniu. Ta zwróciła się do Ubisoftu, który w zeszłym roku stworzył „Commit Assistanta”, system bazujący na wcześniejszym badaniu „CLEVER”. Ten jest w stanie wyszukiwać błędy w oprogramowaniu oraz sugerować odpowiednie poprawki. Pewne wątpliwości może wzbudzać skuteczność tego rozwiązania – Commit Assistant w testach znalazł ok. 60-70 procent „zabugowanego” kodu oraz charakteryzował się ilością tzw. „false positives” na poziomie 30 procent. To sporo, ale jak twierdzą eksperci to i tak świetna pomoc dla deweloperów oraz testerów.

Mozilla

Mozilla chwali się ponadto tym, że już udało się wdrożyć Commit Assistanta do procesu tworzenia oprogramowania – a zatem wszyscy twórcy już są odpowiednio przeszkoleni, również dział QA odpowiadający bezpośrednio za jakość oprogramowania. Według Mozilli ten krok pozwoli na zaoszczędzenie niemałych pieniędzy oraz czasu. Cóż, należy życzyć Mozilli powodzenia.

Mozilla zdecydowanie nie jest pierwsza w kontekście takiego podejścia do tworzenia oprogramowania

Microsoft na przykład w poprzednim roku wdrożył IntelliCode w Visual Studio – jednak nie jest to typowe narzędzie do identyfikacji błędów. Również bazuje na uczeniu maszynowym, ale raczej jest wycelowane w poszukiwanie najlepszych praktyk w trakcie tworzenia oprogramowania. Niemniej, twórcy uważają, że również za pomocą IntelliCode można szukać pewnych błędów – jednak na pewno nie w takim zakresie jak Commit Assistant.

Microsoftowi na pewno przydałoby się takie narzędzie (to piszemy nieco z przekąsem…) – ostatnie wpadki giganta w kontekście aktualizacji nieco rozsierdziły użytkowników. Niemniej, Microsoft posypał głowę popiołem i orzekł, że od tej chwili będzie już tylko lepiej w zakresie jakości uaktualnień. Cóż, za to też trzymamy kciuki.