Intel otworzył swoje narzędzie do debugowania kodu

ControlFlag to narzędzie do debugowania, które może wykrywać automatycznie w kodzie aplikacji różnego rodzaju błędy i anomalie, zaoszczędzając programiście wiele godzin żmudnej pracy. Dobra wiadomość jest taka, że Intel udostępnił je właśnie bezpłatnie w wersji open source.

Foto: Markus Spiske/Unsplash

Intel używał do tej pory tego narzędzia – którego premiera miała miejsce pod koniec zeszłego roku – wyłącznie do swoich wewnętrznych potrzeb. Firma ma nadzieję, że otwierając narzędzie i udostępniając je szerokiej rzeszy deweloperów przyczyni się do jego popularyzacji.

Debugowanie kodu wymaga wiele cierpliwości, wiedzy i jest czasochłonne. Większość błędów wymaga analizy semantycznej w celu zidentyfikowania różnego rodzaju nieprawidłowości. W ostatniej dekadzie podejmowano wiele prób zautomatyzowania procesu debugowania kodu, ale z różnym skutkiem.

Zobacz również:

  • Ta technika rozwiązuje problem ograniczonej wielkości okien kontekstowych obsługujących modele językowe LLM
  • Premiera nowego układu AI firmy Intel

Właśnie dlatego programiści tak bardzo nie lubią ręcznego debugowania i wiedzą, że niejednokrotnie naprawienie nawet jednego błędu może trwać wiele dni. Szacuje się, że programista poświęca nawet połowę swego czasu właśnie na debugowanie. Wiąże się to również z kosztami dla firm. Intel podaje np. że branża IT wydała w 2020 roku około 2 bln USD na koszty rozwoju narzędzi do debugowania kodu, co stanowi około połowy średniego budżetu IT.

Narzędzie ControlFlag zostało tak zaprojektowane, że uczy się na podstawie poprzednich przykładów, aby wykrywać normalne wzorce kodowania. Właśnie dlatego może skutecznie identyfikować anomalie powodujące błędną pracę aplikacji, niezależnie od zastosowanego języka programowania.

System nauczył się wzorców kodowania z ponad jednego miliarda wierszy kodu źródłowego, co pozwoliło mu osiągnąć wysoki stopień dokładności, a nawet dostosować się do stylu programisty, aby odróżnić anomalię oprogramowania od stylistycznej odmiany języka programowania.

Intel testował narzędzie do uczenia maszynowego w różnych systemach oprogramowania, uzyskując bardzo obiecujące wyniki. Na przykład w zeszłym roku narzędzie wykryło anomalię kodu w projekcie oprogramowania komputerowego o nazwie Client URL (cURL), który przesyła dane przy użyciu różnych protokołów sieciowych. Po zgłoszeniu anomalii zespołowi cURL, informatycy zgodzili się z ustaleniami poczynionymi przez oprogramowanie ControlFlag i przeprojektowali swój kod, aby naprawić problem.

Warto wiedzieć, że narzędzie zostało zaprojektowane w ramach szerzej inicjatywy Intel Machine Programming Research (MPR), której głównym celem jest skrócenie czasu potrzebnego na tworzenie oprogramowania. Zespół MPR firmy pracuje nad kilkoma innymi projektami, które koncentrują się na ułatwieniu tworzenia oprogramowania.

W zeszłym roku Intel zaprezentował narzędzie opracowane wspólnie z naukowcami z MIT, które może badać poszczególne części kodu, aby zrozumieć, co zamierza robić cała aplikacja. To narzędzie noszące nazwę MISIM (Machine Inferred code Similarity), które korzysta z wzorców wcześniej opracowanych kodów, aby w ten sposób zrozumieć intencje nowego algorytmu i zasugerować deweloperom inne sposoby programowania, względnie zaoferować poprawki zwiększające wydajność kodu.

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

TOP 200