stringtranslate.com

Implementación de referencia

En el proceso de desarrollo de software , una implementación de referencia (o, con menos frecuencia, una implementación de muestra o una implementación de modelo ) es un programa que implementa todos los requisitos de una especificación correspondiente. La implementación de referencia suele acompañar a un estándar técnico y demuestra lo que debe considerarse el comportamiento "correcto" de cualquier otra implementación del mismo.

Características y ejemplos

Las implementaciones de referencia de algoritmos, por ejemplo los algoritmos criptográficos , suelen ser el resultado o la entrada de procesos de estandarización . En esta función suelen estar dedicados al dominio público con su código fuente como software de dominio público . Algunos ejemplos son el httpd del primer CERN , [1] cifrado Serpent , variantes base64 , [2] y SHA-3 . [3] El Proyecto Openwall mantiene una lista de varios algoritmos con su código fuente de referencia en el dominio público. [4]

Una implementación de referencia puede o no ser calidad de producción. Por ejemplo, la implementación de referencia de Fraunhofer del estándar MP3 generalmente no se compara favorablemente con otras implementaciones comunes, como LAME , en pruebas de escucha que determinan la calidad del sonido. [ cita necesaria ] Por el contrario, CPython , la implementación de referencia del lenguaje de programación Python , [5] es también la implementación más utilizada en producción.

Pruebas

Probar la relación entre implementación y especificación mejora aún más las eficiencias entre procesos de producción :

Una implementación de referencia es, en general, una implementación de una especificación que se utilizará como interpretación definitiva de esa especificación (esta definición es un poco grandilocuente pero funciona). Durante el desarrollo del... conjunto de pruebas de conformidad, es necesaria al menos una implementación relativamente confiable de cada interfaz para (1) descubrir errores o ambigüedades en la especificación y (2) validar el funcionamiento correcto del conjunto de pruebas. [6]

Características de una implementación de referencia:

  1. Desarrollado simultáneamente con la especificación y el conjunto de pruebas;
  2. Verifica que la especificación sea implementable;
  3. Permite probar el conjunto de pruebas;
  4. Sirve como estándar de oro contra el cual se pueden medir otras implementaciones;
  5. Ayuda a aclarar la intención de la especificación en situaciones donde las pruebas de conformidad son inadecuadas [7]

Referencias

  1. ^ El nacimiento de la web Licencia web en cern.ch (2014)
  2. ^ libb64 en sourceforge
  3. ^ KeccakReferenceAndOptimized-3.2.zip mainReference.c "La función de esponja Keccak, diseñada por Guido Bertoni, Joan Daemen, Michaël Peeters y Gilles Van Assche. Para obtener más información, comentarios o preguntas, consulte nuestro sitio web: http://keccak. noekeon.org/Implementation [ enlace muerto permanente ] por los diseñadores, denominados "el implementador". En la medida de lo posible según la ley, el implementador ha renunciado a todos los derechos de autor y derechos relacionados o conexos con el código fuente de este archivo. https: //creativecommons.org/publicdomain/zero/1.0/"
  4. ^ Fragmentos de código fuente y marcos colocados en el dominio público en openwall.info
  5. ^ Nieve, Eric (26 de enero de 2012). "PEP 421: adición de implementación del sistema". Python.org . Fundación de software Python. Archivado desde el original el 7 de enero de 2017 . Consultado el 6 de enero de 2017 . Desde hace varios años, la distinción entre el lenguaje Python y CPython (la implementación de referencia) ha ido creciendo.
  6. ^ Dalci, Eric; Fong, Elizabeth; Goldfine, Alan (2003). Requisitos para implementaciones de referencia GSC-IS . Instituto Nacional de Estándares y Tecnología, Laboratorio de Tecnología de la Información. [https://web.archive.org/web/20060928231404/http://xw2k.sdct.itl.nist.gov/smartcard/document/ref-imp51.pdf Requisitos para implementaciones de referencia GSC-IS]
  7. ^ Curran, Patrick (2003). Pruebas de conformidad: una perspectiva de la industria . Microsistemas solares. [1]