Programování

DeepCode přináší recenzi kódu na bázi AI do C a C ++

DeepCode, cloudová služba, která používá strojové učení k analýze kódových základen pro bezpečnostní chyby a potenciální chyby, může nyní analyzovat kód C a C ++.

Vycvičený analýzou tisíců projektů s otevřeným zdrojovým kódem, DeepCode poskytuje zpětnou vazbu pro projekty v platformách pro hostování kódu nebo v lokálních úložištích. Tvůrci DeepCode tvrdí, že poskytuje lepší a podrobnější zpětnou vazbu než tradiční nástroje pro analýzu kódu, protože analyzuje kód v kontextu - nejen jako text, ale jako spuštěný software.

Většina chyb zabezpečení nalezených v softwaru se objevuje v kódových základnách C nebo C ++. Jakkoli jsou tyto dva jazyky výkonné, poskytují malou až žádnou ochranu před chybami vývojářů a novější verze těchto jazyků jsou nuceny zachovat zpětnou kompatibilitu, a proto zůstávají zranitelné.

Znalostní základna problémů DeepCode zahrnuje mnoho běžných problémů nalezených v jazycích C a C ++ i v jiných jazycích: problémy se styly, úniky zdrojů, problémy s alokací paměti, problémy se zpracováním data a nekompatibility napříč verzemi jazyka.

V analýze linuxového jádra našla DeepCode řadu běžných problémů v C codebase, včetně nesanitizovaných parametrů předaných z argumentů příkazového řádku nebo proměnných prostředí, problémů s následným uvolněním a chybějící kontroly nulových ukazatelů. Další problémy v kódu C jsou subtilnější, jako je nezabezpečené vytváření dočasných souborů nebo možnost, že některé pokyny mohou být při kompilaci optimalizovány a nebudou mít zamýšlený účinek.

Když byl DeepCode původně spuštěn, podporoval Java, JavaScript, TypeScript a Python, ale plány byly na stole pro C, C ++ a další jazyky. Podle příspěvku na blogu, který oznamuje podporu C / C ++, přidání analýzy kódu pro C a C ++ trvalo tři měsíce práce, kvůli složitosti zahrnující funkce C / C ++ na nízké úrovni.

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