Programiranje

DeepCode prinaša pregled kod z AI na C in C ++

DeepCode, storitev v oblaku, ki uporablja strojno učenje za analizo kodnih baz zaradi varnostnih napak in morebitnih napak, lahko zdaj analizira kodo C in C ++.

Usposobljen za analizo tisoč odprtokodnih projektov, DeepCode zagotavlja povratne informacije za projekte v platformah za gostovanje kod ali lokalnih skladiščih. Ustvarjalci DeepCode trdijo, da zagotavlja boljše in podrobnejše povratne informacije kot tradicionalna orodja za analizo kode, ker analizira kodo v kontekstu - ne le kot besedilo, temveč kot delujočo programsko opremo.

Večina ranljivosti v programski opremi se pojavi v kodnih bazah C ali C ++. Tako močna, kot sta oba jezika, le malo ali nič ne varujeta pred napakami razvijalcev, novejše različice teh jezikov pa so prisiljene ohraniti združljivost in so tako ranljive.

Baza znanja DeepCode vključuje številne pogoste težave, ki jih najdemo v C in C ++ ter drugih jezikih: težave s slogom, uhajanje virov, težave z dodeljevanjem pomnilnika, težave z obdelavo datumov in nezdružljivosti med različicami jezika.

Pri analizi jedra Linuxa je DeepCode našel številne pogoste težave v kodnih bazah C, vključno z neanitiziranimi parametri, ki so bili posredovani iz argumentov ukazne vrstice ali spremenljivk okolja, težave brez uporabe in manjkajoča preverjanja ničelnih kazalcev. Druga vprašanja v kodi C so bolj subtilna, na primer negotovo ustvarjanje začasnih datotek ali možnost, da se nekatera navodila pri prevajanju optimizirajo in nimajo predvidenega učinka.

Ob prvotnem zagonu je DeepCode podpiral Java, JavaScript, TypeScript in Python, vendar so bili na voljo načrti za C, C ++ in druge jezike. Glede na objavo v spletnem dnevniku, ki napoveduje podporo za C / C ++, je dodajanje analize kode za C in C ++ zahtevalo tri mesece dela zaradi zapletenosti, ki vključuje funkcije nizke ravni C / C ++.

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