Programovanie

DeepCode prináša preskúmanie kódu na základe AI do C a C ++

DeepCode, cloudová služba, ktorá pomocou strojového učenia analyzuje databázu kódov kvôli bezpečnostným chybám a potenciálnym chybám, môže teraz analyzovať kód C a C ++.

DeepCode, ktorý bol vyškolený analýzou tisícov projektov otvoreného zdroja, poskytuje spätnú väzbu pre projekty v platformách na hosťovanie kódu alebo v lokálnych úložiskách. Tvorcovia DeepCode tvrdia, že poskytuje lepšiu a podrobnejšiu spätnú väzbu ako tradičné nástroje na analýzu kódu, pretože analyzuje kód v kontexte - nielen ako text, ale ako spustený softvér.

Väčšina zraniteľností, ktoré sa nachádzajú v softvéri, sa objavuje v kódových základniach C alebo C ++. Akokoľvek sú tieto dva jazyky výkonné, neposkytujú takmer žiadnu ochranu pred chybami vývojárov. Novšie verzie týchto jazykov sú nútené zachovávať spätnú kompatibilitu a zostať tak zraniteľné.

Znalostná báza problémov DeepCode zahŕňa mnoho bežných problémov nachádzajúcich sa v jazykoch C a C ++, ako aj v iných jazykoch: problémy so štýlmi, úniky zdrojov, problémy s alokáciou pamäte, problémy so spracovaním dátumu a nekompatibility medzi verziami jazyka.

V analýze jadra Linuxu DeepCode zistil množstvo bežných problémov v kódových bázách C vrátane neanitovaných parametrov odovzdaných z argumentov príkazového riadku alebo premenných prostredia, problémov s následným použitím a chýbajúcich kontrol nulových ukazovateľov. Ostatné problémy v kóde C sú jemnejšie, napríklad nezabezpečené vytváranie dočasných súborov alebo možnosť, že niektoré pokyny môžu byť pri kompilácii optimalizované a nebudú mať zamýšľaný účinok.

Keď bol DeepCode pôvodne uvedený na trh, podporoval Java, JavaScript, TypeScript a Python, ale plány boli na stole pre C, C ++ a ďalšie jazyky. Podľa príspevku na blogu, ktorý oznamuje podporu C / C ++, pridanie analýzy kódu pre C a C ++ trvalo tri mesiace práce, kvôli zložitostiam zahŕňajúcim funkcie C / C ++ na nízkej úrovni.

$config[zx-auto] not found$config[zx-overlay] not found