Mikä on muodollinen vahvistus?

Usein käytetään tietokonepiirien ja ohjelmistojen testauksessa, muodollinen vahvistus on silloin, kun näiden järjestelmien toimintaa analysoidaan matemaattisten kaavojen avulla. Ohjelmistokehityksen tapauksessa prosessia käytetään tyypillisesti osoittamaan, toimiiko ohjelma oikein, perustuen ennalta määrättyyn malliin. Joskus teoreettinen malli osoittautuu epätyydyttäväksi. Ohjelmiston lähdekoodin lisäksi muodollista vahvistusta voidaan käyttää yhdistelmäpiirien kehittämisessä, joita käytetään laskelmien suorittamiseen tietokoneissa sekä tietokoneen muistissa. Eri lähestymistapoja ovat jälkitarkastus, rinnakkainen todentaminen ja integroitu todentaminen eri menetelmien lisäksi.

Matemaattisia laskentamenettelyjä, joita kutsutaan algoritmeiksi, käytetään muodollisessa todentamisessa tuotteiden toimintojen testaamiseksi jokaisessa kehitysvaiheessa. Ohjelmistokehittäjät voivat löytää virheitä tai vikoja sekä lähdekoodista että sen rakentamiseen käytetystä mallista. Joskus perustavanlaatuisia muutoksia koodin kirjoittamiseen voidaan tehdä ennen kuin suunnitteluvirhe vaikuttaa lopputulokseen. Vahvistusvaihe auttaa yleensä määrittämään, tekeekö tuote sen, mitä oli tarkoitus tehdä, ja täyttääkö sen sovelluksen vaatimukset.

Muodollinen vahvistus voi tapahtua, kun tuote on valmis, jota kutsutaan jälkivahvistukseksi. Suunnittelu- ja kehitysprosessissa käytettyä vakiomenetelmää ei analysoida ennen kuin järjestelmä on valmis. Vakavien virheiden löytäminen tässä vaiheessa johtaa usein kalliisiin ja aikaa vieviin tarkistuksiin. Kehittämisen ja todentamisen voivat suorittaa myös kaksi erillistä ryhmää tarkastusta varten rinnakkain. Yhteydenpidon kautta kehittäjät voivat keskittyä itsenäisiin tehtäviin koko suunnitteluprosessin aikana.

Integroitu vahvistus on silloin, kun yksi tiimi suorittaa kehityksen ja vaaditun arvioinnin. Monimutkaisia ​​matemaattisia käsitteitä käytetään usein tuotteen ominaisuuksien tarkistamiseen matkan varrella. Muodolliset todentamismenetelmät vaihtelevat eri hankkeissa, mutta usein käytetty on mallintarkastus. Laitteisto- tai ohjelmistomalli koostuu erilaisista ominaisuuksista, joita suunnittelijat haluavat lopputuotteeseen. Malli ja järjestelmä voidaan tarkistaa määräajoin nähdäkseen, vastaavatko ominaisuudet.

Toinen menetelmä muodollisessa todentamisessa sisältää matemaattisten kaavojen ja logiikan käyttämisen järjestelmän ja sen ominaisuuksien esittämiseen. Muodollisessa järjestelmässä määritellyt säännöt löytyvät yleensä logiikasta. Molemmat tekniikat käyttävät erilaisia ​​keinoja sen määrittämiseksi, täyttyvätkö tuotteen tietyt vaatimukset. Kehittäjät voivat käyttää muodollisessa vahvistusprosessissa erityyppisiä ohjelmistoja, joista jokainen on räätälöity tiettyyn järjestelmään tai ohjelmointikieleen.