Condividi tramite


Introduzione a Static Driver Verifier

Static Driver Verifier (SDV) è uno strumento di verifica statico eseguito in fase di compilazione. Esplora i percorsi nel codice driver eseguendo simbolicamente il codice sorgente, rendendo il minor numero possibile di ipotesi sullo stato del sistema operativo e sullo stato iniziale del driver. Di conseguenza, SDV può esercitare il codice nei percorsi mancanti nei test tradizionali.As a result, SDV can exercise code in paths that are missed in traditional testing.

SDV include un set di regole che definiscono l'interazione corretta tra un driver e il kernel del sistema operativo. Durante la verifica, SDV esamina ogni ramo applicabile del codice del driver e il codice della libreria usato e tenta di dimostrare che il driver viola le regole. Se SDV non riesce a dimostrare una violazione, segnala che il driver è conforme alle regole e supera la verifica.

La sezione include:

Informazioni sul verificatore dei driver statici

Concetti relativi alla verifica dei driver statici

Driver supportati

Limitazioni del driver statico

Importante

SDV non è più supportato e SDV non è disponibile nelle versioni WDK o EWDK di Windows 24H2. Non è disponibile in WDK più recente rispetto alla build 26017 e non è incluso in Windows 24H2 RTM WDK. SDV può comunque essere usato scaricando Windows 11 versione 22H2 EWDK (rilasciata il 24 ottobre 2023) con gli strumenti di compilazione di Visual Studio 17.1.5 da Scaricare Windows Driver Kit (WDK) . È consigliabile usare enterprise WDK per eseguire SDV. L'uso di versioni precedenti del WDK standard in combinazione con le versioni recenti di Visual Studio non è consigliato, in quanto ciò genererà probabilmente errori di analisi.
In futuro, CodeQL sarà lo strumento di analisi statico principale per i driver. CodeQL offre un linguaggio di query potente che considera il codice come database su cui eseguire query, semplificando la scrittura di query per comportamenti, modelli e altro ancora specifici. Per altre informazioni sull'uso di CodeQL, vedere CodeQL e il test del logo degli strumenti statici.