Kaj je uradno preverjanje?

Formalno preverjanje se pogosto uporablja pri testiranju računalniških vezij in programske opreme, ko se funkcija teh sistemov analizira z uporabo matematičnih formul. V primeru razvoja programske opreme se postopek običajno uporablja za prikaz, ali program deluje pravilno, na podlagi vnaprej določenega modela. Včasih se izkaže, da je teoretični model nezadovoljiv. Poleg izvorne kode programske opreme se lahko formalno preverjanje uporablja pri razvoju kombinacijskih vezij, ki se uporabljajo za izvajanje izračunov v računalnikih, pa tudi računalniškega pomnilnika. Različni pristopi vključujejo naknadno preverjanje, vzporedno preverjanje in integrirano preverjanje poleg različnih metod.

Matematični postopki za izračune, imenovani algoritmi, se uporabljajo pri formalnem preverjanju za preizkušanje funkcij izdelkov na vsaki stopnji razvoja. Razvijalci programske opreme lahko najdejo napake ali hrošče tako v izvorni kodi kot v modelu, uporabljenem za njeno izdelavo. Včasih je mogoče bistveno spremeniti način pisanja kode, preden napaka pri načrtovanju vpliva na končni rezultat. Korak preverjanja na splošno pomaga ugotoviti, ali izdelek opravlja tisto, za kar je bil namenjen, in ali ustreza specifikacijam aplikacije, za katero je namenjen.

Formalno preverjanje se lahko zgodi, ko je izdelek dokončan, kar se imenuje naknadno preverjanje. Standardna metoda, ki se uporablja v celotnem procesu načrtovanja in razvoja, se ne analizira, dokler sistem ni končan. Odkrivanje resnih napak na tej stopnji pogosto vodi do dragih in dolgotrajnih popravkov. Razvoj in preverjanje lahko izvajata tudi dve ločeni skupini za verifikacijo vzporedno. Z medsebojno komunikacijo se lahko razvijalci osredotočijo na samostojne naloge v celotnem procesu oblikovanja.

Integrirano preverjanje je, ko ena ekipa izvede razvoj in zahtevano oceno. Za preverjanje zmogljivosti izdelka na poti se pogosto uporabljajo zapleteni matematični koncepti. Metode formalnega preverjanja se med projekti razlikujejo, vendar se pogosto uporablja preverjanje modela. Model strojne ali programske opreme je sestavljen iz različnih lastnosti, ki jih oblikovalci želijo v končnem izdelku. Model in sistem je mogoče občasno preverjati, ali se lastnosti ujemajo.

Druga tehnika pri formalnem preverjanju vključuje uporabo matematičnih formul in logike za predstavitev sistema in njegovih lastnosti. Pravila, definirana v formalnem sistemu, se običajno nahajajo v logiki. Obe tehniki uporabljata različna sredstva za ugotavljanje, ali je določena specifikacija izdelka izpolnjena. Razvijalci lahko v formalnem postopku preverjanja uporabljajo različne vrste programske opreme, od katerih je vsaka prilagojena določenemu sistemu ali programskemu jeziku.