Analýza kódu Microsoft C ++ podporuje SARIF 2.1

Blog

Počnúc Visual Studio 16.8, MSVC Code Analysis oficiálne podporuje štandard SARIF 2.1.0. SARIF je priemyselný štandard na reprezentáciu protokolov statickej analýzy a boli sme jedným z prvých spolupracovníkov Technického výboru SARIF. V zákulisí analytické súbory denníka vo formáte SARIF umožňujú Visual Studio IDE poskytovať bohatší zážitok, ktorý pri starších denníkoch XML nebolo možné. V tomto blogovom príspevku predstavíme jednu z týchto vylepšených skúseností-chyby analýzy kódu s rôznymi stupňami závažnosti v zozname chýb a farebne rozlíšené škvrny pre urážlivé segmenty kódu.



Čo je SARIF?

SARIF je skratka pre formát výmeny výsledkov statickej analýzy, ktorý je štandardným formátom založeným na formáte JSON pre výstup nástrojov statickej analýzy. SARIF poskytuje bohatý formát, ktorý má splniť potreby širokej škály analytických nástrojov, sofistikovaných aj jednoduchých. Poskytuje tiež mechanizmus rozšíriteľnosti, ktorý umožňuje autorom nástrojov ukladať vlastné údaje, ktoré formát SARIF priamo nepodporuje.






Ďalšie informácie o SARIF nájdete na toto úvodná stránka. Najnovší štandard SARIF je k dispozícii na toto stránku.

Analýza kódu C ++ a SARIF

MSVC Code Analysis používa vlastný formát denníka XML na hlásenie chýb, ktoré nájde počas analýzy kódu. Aj keď to slúžilo zákazníkom dobre za posledné desaťročie, rozhodli sme sa podporovať SARIF pre bohatšie možnosti, ako sú zoznam protokolovaných analyzovaných súborov, prepísania konfigurácie pre analýzu, miesto, kde sú chyby potlačené, ak protokolovanie potláča varovania atď.

Podporujeme SARIF vo VS už nejaký čas, dokonca aj najskoršie koncepcie špecifikácie. 16.8 je vydanie, ktoré MSVC Code Analysis podporuje štandard SARIF 2.1. Vďaka tejto aktualizácii priniesla analýza kódu MSVC vylepšené prostredie, ktoré už mnoho čitateľov môže poznať, vrátane, ale nielen:

  • Analýza kódu pozadia
  • Zelené skratky pre chyby analýzy kódu
  • Opravte to, aby sa vám automaticky zobrazovali odporúčania na opravu chýb

Aby sme do analýzy kódu pridali ďalšie vylepšenia, aktualizovali sme analýzu kódu MSVC, aby podporovala najnovší štandard SARIF 2.1.0. Súčasne bol aktualizovaný tak, aby poskytoval možnosti zaznamenávania ďalších informácií do súboru denníka SARIF:

  • Zoznam analyzovaných súborov
  • Konfigurácie používané na analýzu kódu vrátane možností príkazového riadka
  • Opatrenia pravidiel pre každé z aktívnych pravidiel, pre ktoré sú hlásené chyby

Kým sme aktualizovali analýzu kódu MSVC, aby sme do protokolových súborov SARIF pridali ďalšie informácie, pridali sme doň aj nové možnosti:

  • Možnosť protokolovať varovania kompilátora okrem upozornení na analýzu kódu
  • Schopnosť zaznamenávať potlačené varovania s umiestnením potlačenia

Akcie pravidla v programe Visual Studio

Keď aktualizujeme analýzu kódu MSVC s podporou najnovšieho štandardu SARIF a dodatočných informácií o analýze a chybách, aktualizovali sme aj Visual Studio, aby sme vylepšili zážitok z analýzy kódu.

V nasledujúcich častiach sa pozrime na vylepšenú analýzu kódu v programe Visual Studio IDE.

#c ++ #diagnostika #analýza kódu #microsoft #sarif 2.1

devblogs.microsoft.com

Analýza kódu Microsoft C ++ podporuje SARIF 2.1

Počnúc Visual Studio 16.8, MSVC Code Analysis oficiálne podporuje štandard SARIF 2.1.0. SARIF je priemyselný štandard na reprezentáciu protokolov statickej analýzy a boli sme jedným z prvých spolupracovníkov Technického výboru SARIF. V zákulisí súbory denníka analýz vo formáte SARIF umožňujú Visual Studio IDE poskytovať bohatší zážitok, ktorý pri starších protokoloch XML nebolo možné.