Formální ověření
V souvislosti s hardwarem a systémy softwaru, formální verifikace je akt ukazovat se jako nebo vyvracet správnost zamýšlených algoritmů fundamentální systém s ohledem na jistou formální specifikaci nebo vlastnost, používat formální metody matematiky.
Nepřehlédněte: Tato stránka obsahuje strojový překlad textu z anglické encyklopedie Wikipedia. Pokud budou některé pasáže špatně srozumitelné, zkuste se podívat i na text v originále, který najdete pod odkazem Formal verification. Překlad byl vytvořen pomocí překladače Eurotran.
Použití
Formální verifikace může být používána například pro systémy takové jak cryptographic protokoly, combinational obvody, digitální obvody s vnitřní pamětí a software vyjadřovali jako zdrojový kód.
Ověření těchto systémů je děláno podáním formálního důkazu na abstraktním matematickém modelu systému, korespondenci mezi matematickým modelem a povaze systému být jinak znán stavbou. Příklady matematických objektů často zvyklých na modelové systémy jsou: konečné státní stroje, označil přechod za systémy, Petri sítě, měřil automaty, automaty křížence, algebra procesu, formální sémantika programovacích jazyků takový jako operační sémantika, denotational sémantika, axiomatická sémantika a Hoare logika.
Přístupy k formálnímu ověření
Tam jsou ostře dva přístupy k formálnímu ověření.
První přístup je ověřování modelu, který sestává z systematicky vyčerpávajícího zkoumání matematického modelu (toto je možné pro konečné modely, ale také pro některé nekonečné modely kde nekonečné soubory států mohou být účinně reprezentovány). Obvykle toto sestává z prozkoumávat všechny státy a přechody v modelu, používáním elegantní a doména-specifické abstrakční techniky zvažovat celé skupiny států v jediném provozu a redukovat čas práce na počítači. Implementační techniky zahrnují státní prostorový výčet, symbolický státní prostorový výčet, abstraktní výklad, symbolická simulace, abstrakce refinement. Vlastnosti být ověřen být často popisován ve světském logics, taková jak lineární světská logika (LTL) nebo výpočetní stromová logika (CTL).
Druhý přístup je logický závěr. To sestává z použití formální verze matematické úvahy o systému, obvykle používat teorém se ukazovat jako software takový jak HOL teorém prover, ACL2, Isabelle, nebo Coq teorém provers. Toto je obvykle jen částečně automatizované a je řízeno uživatelským chápáním systému potvrdit.
Validace a ověření
Verifikace je jedna stránka zdraví testování výrobku za účelem. Validace je doplňující se aspekt. Často jeden se odkazuje na celkové kontrolování procesu jak V a V.
- Validace: “my pokusíme se dělat správnou věc?”, tj., produkt dělá co uživatel opravdu vyžaduje?
- Ověření: “my jsme dělali co my jsme pokusili se dělat?”, tj., produkt odpovídá specifikacím?
Verifikační proces sestává ze statických a dynamických částí. E.g., pro produkt softwaru jeden může prohlédnout zdrojový kód (statická elektřina) a stát proti specifickým modelovým případům (dynamický). Validace obvykle může jen být dělána dynamicky, tj., produkt je testován tím, že provede to typickými použitími a atypickými použitími (“můžeme rozbít to?”). Viz též ověření a validace
Viz též
- Automatizovaný teorém zkušební
- Formální rovnocennost kontrolovat to
- Kolébavý pohyb
- Modelové ověřování
- Dáma důkazu
- Vlastnický specifikační jazyk
- Vybraná formální verifikační bibliografie
- Statická kódová analýza
- Světská logika v konečný-ověření státu
- Poštovní křemíková validace
- Inteligentní ověření
- Verifikace a validace