Skip to main content

Vad är formell verifiering?

Ofta används vid testning av datorkretsar och programvara, formell verifiering är när funktionen för dessa system analyseras med hjälp av matematiska formler.När det gäller utvecklingsprogramvara används processen vanligtvis för att visa om programmet fungerar korrekt, baserat på en förutbestämd modell.Ibland har den teoretiska modellen visat sig vara otillfredsställande.Förutom källkod för programvaran kan formell verifiering användas för att utveckla kombinationskretsar, som används för att utföra beräkningar i datorer samt datorminne.De olika tillvägagångssätten inkluderar verifiering efter faktum, verifiering parallellt och integrerad verifiering utöver olika metoder.

Matematiska procedurer för beräkningar, kallade algoritmer, används i formell verifiering för att testa produkternas funktioner i varje utvecklingsstadium.Programvaruutvecklare kan hitta fel eller buggar i både källkoden och modellen som används för att bygga den i första hand.Ibland kan grundläggande förändringar i hur koden skrivs göras innan ett designfel påverkar slutresultatet.En standardmetod, som används under hela design- och utvecklingsprocessen, analyseras inte förrän systemet är klart.Att hitta allvarliga fel i detta skede leder ofta till dyra och tidskrävande revisioner.Utveckling och verifiering kan också utföras av två separata team för verifiering parallellt.Genom interkommunikation kan utvecklarna fokusera på oberoende uppgifter under hela designprocessen.

Integrerad verifiering är när ett team utför utvecklingen och den nödvändiga bedömningen.Komplexa matematiska koncept används ofta för att verifiera produktens kapacitet på vägen.Metoder för formell verifiering varierar mellan projekt men en som ofta används är modellkontroll.En hårdvaru- eller mjukvarimodell består av olika egenskaper som designers vill ha i den färdiga produkten.Modellen och systemet kan regelbundet kontrolleras för att se om egenskaper matchar.

En annan teknik i formell verifiering innebär att använda matematiska formler och logik för att representera ett system och dess egenskaper.Regler som definieras i ett formellt system finns vanligtvis i logiken.Båda dessa tekniker använder olika medel för att bestämma om en viss specifikation av en produkt uppfylls.Utvecklare kan använda olika typer av programvara i den formella verifieringsprocessen, var och en skräddarsydd efter ett specifikt system eller programmeringsspråk.