programverifisering
Programverifisering, eller formell verifikasjon av programvare, er prosessen med å bevise at et program oppfyller en spesifisert egenskap eller krav. Målet er å avdekke feil før kjøring og å gi dokumentasjon for korrekthet, sikkerhet og pålitelighet. I motsetning til tradisjonell testing bruker den matematiske teknikker og formelle modeller.
Tilnærminger deles i statisk verifikasjon, som analyserer kildekode uten kjøring, og dynamisk verifikasjon, som tester under
Gitte egenskaper omfatter safety (unngå farlige hendelser) og liveness (noe godt skjer til slutt), samt korrekthet
Verktøy og teknikker inkluderer proof assistants som Coq, Isabelle/HOL og PVS; modellkontrollverktøy som SPIN og NuSMV;
Utfordringer er skalerbarhet til store kodesett, behov for passende abstraksjoner og spesifikasjoner, samt ressurser og kompetanse.
---