Skip to main content

Wat is formele verificatie?

Vaak gebruikt bij het testen van computercircuits en software, is formele verificatie wanneer de functie van deze systemen wordt geanalyseerd met behulp van wiskundige formules.In het geval van het ontwikkelen van software wordt het proces meestal gebruikt om aan te tonen of het programma correct werkt, op basis van een vooraf bepaald model.Soms is bewezen dat het theoretische model onbevredigend is.Naast de broncode van software, kan formele verificatie worden gebruikt bij het ontwikkelen van combinatiecircuits, die worden gebruikt om berekeningen in computers uit te voeren, evenals computergeheugen.De verschillende benaderingen omvatten na-de-fact-verificatie, verificatie parallel en geïntegreerde verificatie naast verschillende methoden.

Wiskundige procedures voor berekeningen, algoritmen genoemd, worden gebruikt in formele verificatie om de functies van producten in elke ontwikkelingsfase te testen.Softwareontwikkelaars kunnen fouten of bugs vinden in zowel de broncode als het model dat wordt gebruikt om het in de eerste plaats te bouwen.Soms kunnen fundamentele wijzigingen in de manier waarop de code wordt geschreven worden aangebracht voordat een ontwerpfout het eindresultaat beïnvloedt.De verificatiestap helpt in het algemeen te bepalen of het product doet wat bedoeld was om te doen, en voldoet aan de specificaties van de toepassing waarvoor het is.

Formele verificatie kan optreden wanneer een product wordt voltooid, dat na-de-fact-verificatie wordt genoemd.Een standaardmethode, die tijdens het ontwerp- en ontwikkelingsproces wordt gebruikt, wordt niet geanalyseerd totdat het systeem is voltooid.Het vinden van ernstige fouten in dit stadium leidt vaak tot dure en tijdrovende herzieningen.Ontwikkeling en verificatie kunnen ook worden uitgevoerd door twee afzonderlijke teams voor verificatie parallel.Door intercommunicatie kunnen de ontwikkelaars zich concentreren op onafhankelijke taken tijdens het hele ontwerpproces.

Geïntegreerde verificatie is wanneer een team de ontwikkeling en de vereiste beoordeling uitvoert.Complexe wiskundige concepten worden vaak gebruikt om de mogelijkheden van het product onderweg te verifiëren.Methoden van formele verificatie variëren tussen projecten, maar één die vaak wordt gebruikt, is modelcontrole.Een hardware- of softwaremodel bestaat uit verschillende eigenschappen die ontwerpers in het eindproduct willen.Het model en het systeem kunnen periodiek worden gecontroleerd om te zien of eigenschappen overeenkomen.

Een andere techniek in formele verificatie omvat het gebruik van wiskundige formules en logica om een systeem en de eigenschappen ervan weer te geven.Regels die in een formeel systeem zijn gedefinieerd, worden over het algemeen in de logica gevonden.Beide technieken gebruiken verschillende middelen om te bepalen of aan een bepaalde specificatie van een product is voldaan.Ontwikkelaars kunnen verschillende soorten software gebruiken in het formele verificatieproces, elk afgestemd op een specifiek systeem of programmeertaal.