Referencia megvalósítás

A szoftverfejlesztési folyamatban egy benchmark implementáció (amelyet ritkábban mint mint implementációt vagy implementációs modellt is emlegetnek ) az a szabvány, amelyből az összes többi implementáció és testreszabás származik.

A referencia-megvalósítás fejlesztése nem tükrözi az alapul szolgáló specifikáció változását . Ezzel szemben a referencia megvalósítás egyik megvalósításának sikertelensége bizonyíték lehet arra, hogy a specifikációk nem megfelelőek és javításra szorulnak.

„A referencia-megvalósítás általában egy specifikáció megvalósítása, amelyet a specifikáció kanonikus értelmezésének kell tekinteni. Ez a meghatározás kissé bombázó, de a gyakorlatban is működik. A tesztfarm fejlesztése során minden interfészhez legalább egy megbízható megvalósításra van szükség:

  1. - fedezze fel a specifikációk hibáit és téves értelmezését, és
  2. ellenőrizze a tesztelem megfelelő működését. "

A referencia megvalósítás jellemzői

Az algoritmusok referencia-megvalósításai, például a rejtjelezési algoritmusok , gyakran a folyamatok szabványosításának eredményei. Gyakran elkötelezettek a nyilvánosság előtt , a forráskódjuk nyíltan elérhető. Ilyenek például az első változat CERN httpd , Kígyója titkosítást , base64 változatok és SHA-3 . Az Openwall Project számos algoritmust tartalmaz, amelyek forráskódja nyilvános.

Lehet, hogy egy referencia megvalósítás méltó a gyártáshoz szükséges minőséghez. Például az MP3 szabványos referencia-megvalósításának a Fraunhofer Intézet általi megvalósítása nem hasonlít kedvezően más szabványos megvalósításokhoz, például a LAME-hez a hangminőséget meghatározó hallgatási teszteken. . Ezzel szemben a CPython , a Python programozási nyelv benchmark implementációja is a legszélesebb körben alkalmazott implementáció a termelésben.

Hivatkozások

  1. Eric Dalci, Elizabeth Fong, Alan Goldfine, A GSC-IS referencia-megvalósításának követelményei , Nemzeti Szabványügyi és Technológiai Intézet, Informatikai Laboratórium, 2003. A GSC-IS referencia-megvalósításának követelményei
  2. Patrick Curran, a megfelelőség tesztelése: ipari perspektíva , Sun Microsystems, 2003. [1]
  3. A születés az interneten Licensing web on cern.ch (2014)
  4. libb64 a sourceforge-on
  5. KeccakReferenceAndOptimized-3.2.zip mainReference.c A Keccak szivacs funkció, amelyet Guido Bertoni, Joan Daemen, Michaël Peeters és Gilles Van Assche terveztek
  6. Forrás kódrészletek és keretek helyezzük a nyilvánosság az openwall.info
  7. Eric Snow , „  PEP 421 - hozzáadása sys.implementation  ” , a Python.org , Python Software Foundation,2012. január 26(hozzáférés  : 2019. február 8. ) :„Évek óta növekszik a különbség a Python-the-language és a CPython (a referencia-megvalósítás) között. "