Vad är formell verifiering?

Ofta används vid testning av datorkretsar och programvara, och formell verifiering är när funktionen för dessa system analyseras med hjälp av matematiska formler. Vid utveckling av mjukvara 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 programkällkoden kan formell verifiering användas för att utveckla kombinationskretsar, som används för att utföra beräkningar i datorer, såväl som datorminne. De olika tillvägagångssätten inkluderar verifiering efter faktum, parallellverifiering och integrerad verifiering utöver olika metoder.

Matematiska procedurer för beräkningar, kallade algoritmer, används vid 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. Verifieringssteget hjälper i allmänhet att avgöra om produkten gör vad som var tänkt att göra och uppfyller specifikationerna för applikationen den är för.

Formell verifiering kan inträffa när en produkt är klar, vilket kallas faktaverifiering. 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 revideringar. Utveckling och verifiering kan också utföras av två separata team för att verifiera parallellt. Genom interkommunikation kan utvecklarna fokusera på oberoende uppgifter under hela designprocessen.

Integrerad verifiering är när ett team utför utvecklingen och den utvärdering som krävs. Komplexa matematiska begrepp används ofta för att verifiera produktens kapacitet på vägen. Metoder för formell verifiering varierar mellan projekt men en ofta används är modellkontroll. En hårdvara eller mjukvarumodell 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 i allmänhet i logiken. Båda dessa tekniker använder olika sätt för att bestämma om en specifik specifikation av en produkt är uppfylld. Utvecklare kan använda olika typer av programvara i den formella verifieringsprocessen, alla anpassade till ett specifikt system eller programmeringsspråk.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?