"매 prove correctness, 매 test correctness 의 X". Formal verification 의 mathematical proof 의 program 의 specification 에 대한 conformance — 매 testing 의 fundamental superset. 2026 의 industrial use 의 expanding (AWS s2n-tls, sel4, CompCert, Cardano, Dafny in MS, Lean 4 의 mathlib).
매 핵심
매 Spectrum of rigor
Type systems: lightweight, daily (TypeScript, Rust borrow checker).
valdivide:x:int->y:int{y<>0}->intletdividexy=x/y// Compiler proves y <> 0 at every call site — divide-by-zero impossible
Kani — Rust harness
#[kani::proof]fncheck_sum_no_overflow(){leta: u32=kani::any();letb: u32=kani::any();kani::assume(a<1000&&b<1000);letsum=a+b;assert!(sum==a+b);// proven for ALL inputs in range
}
CBMC — bounded check on C
#include<assert.h>intmain(){intx=nondet_int();__CPROVER_assume(x>=0&&x<100);inty=x*x;assert(y>=0);return0;}// cbmc file.c → reports counterexample if assertion fails