Referenční implementace - Reference implementation

V procesu vývoje softwaru je referenční implementace (nebo méně často ukázková implementace nebo implementace modelu ) program, který implementuje všechny požadavky z odpovídající specifikace. Referenční implementace často doprovází technické normy a ukazuje, co by mělo být považováno za „správné“ chování jakékoli jiné implementace této normy.

Charakteristika a příklady

Výsledkem nebo vstupem standardizačních procesů jsou často referenční implementace algoritmů, například kryptografické algoritmy . V této funkci se často věnují veřejné doméně se svým zdrojovým kódem jako software ve veřejné doméně . Příkladem je první CERN's httpd , Serpent cipher, varianty base64 a SHA-3 . Projekt Openwall udržuje seznam několika algoritmů s jejich referenčním zdrojovým kódem ve veřejné doméně.

Referenční implementací může, ale nemusí být kvalita produkce. Například referenční implementace standardu MP3 společnosti Fraunhofer se při poslechových testech, které určují kvalitu zvuku, v porovnání s jinými běžnými implementacemi, jako je LAME , obvykle nesrovnává příznivě . Naproti tomu CPython , referenční implementace programovacího jazyka Python , je také implementací nejpoužívanější ve výrobě.

Testování

Testování vztah realizace-vs-specifikaci dále zvyšuje výrobní je mezi efektivitu procesů:

Referenční implementace je obecně implementací specifikace, která má být použita jako definitivní interpretace této specifikace (Tato definice je trochu velkolepá, ale funguje). Během vývoje ... sady testů shody je nutná alespoň jedna relativně důvěryhodná implementace každého rozhraní, aby se (1) objevily chyby nebo nejasnosti ve specifikaci a (2) se ověřilo správné fungování testovací sady.

Charakteristika referenční implementace:

  1. Vyvinuto souběžně se specifikací a testovací sadou;
  2. Ověřuje, že specifikace je implementovatelná;
  3. Umožňuje testování sady;
  4. Slouží jako zlatý standard, proti kterému lze měřit další implementace;
  5. Pomáhá objasnit záměr specifikace v situacích, kdy jsou zkoušky shody nedostatečné

Reference