La verifica formale è un metodo per dimostrare, con la matematica, che un sistema o un risultato soddisfa regole o proprietà precise. Invece di testare alcuni esempi, gli ingegneri definiscono ciò che deve essere sempre vero e usano prove logiche o verificatori automatici per confermarlo. Questo può riguardare codice, hardware, protocolli o persino passaggi di ragionamento assistiti dall'IA.
È importante nella sicurezza informatica perché molti guasti non sono evidenti nei test normali. La verifica formale può aiutare a dimostrare l'assenza di alcuni bug di memoria, condizioni di race, percorsi di escalation dei privilegi o difetti di protocollo prima della distribuzione. È particolarmente preziosa per kernel, implementazioni crittografiche, livelli di sandboxing e sistemi ad alta affidabilità in cui un singolo errore può trasformarsi in un exploit. In difesa, rafforza l'affidabilità; in attacco, gli aggressori spesso prendono di mira le parti di un sistema che non sono state verificate formalmente o in cui le ipotesi erano incomplete.


