In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is a program that implements all requirements from a corresponding specification. The reference implementation often accompanies a technical standard, and demonstrates what should be considered the "correct" behavior of any other implementation of it. Reference implementations of algorithms, for instance cryptographic algorithms, are often the result or the input of standardization processes. In this function they are often dedicated to the public domain with their source code as public domain software. Examples are the first CERN's httpd, Serpent cipher, base64 variants, and SHA-3. The Openwall Project maintains a list of several algorithms with their reference source code in the public domain. A reference implementation may or may not be production quality. For example, the Fraunhofer reference implementation of the MP3 standard usually does not compare favorably to other common implementations, such as LAME, in listening tests that determine sound quality. In contrast, CPython, the reference implementation of the Python programming language, is also the implementation most widely used in production. Testing the implementation-vs-specification relationship further enhances the production's inter-process efficiencies: A reference implementation is, in general, an implementation of a specification to be used as a definitive interpretation for that specification (This definition is a bit grandiloquent but works). During the development of the ... conformance test suite, at least one relatively trusted implementation of each interface is necessary to (1) discover errors or ambiguities in the specification, and (2) validate the correct functioning of the test suite. Characteristics of a Reference Implementation: Developed concurrently with the specification and test suite; Verifies that specification is implementable; Enables the test suite to be tested; Serves as a Gold Standard agai

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.