HOME

TheInfoList



OR:

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 A technical standard is an established norm or requirement for a repeatable technical task which is applied to a common and repeated use of rules, conditions, guidelines or characteristics for products or related processes and production methods, ...
, and demonstrates what should be considered the "correct" behavior of any other implementation of it.


Characteristics and examples

Reference implementations of algorithms, for instance cryptographic algorithms, are often the result or the input of
standardization Standardization or standardisation is the process of implementing and developing technical standards based on the consensus of different parties that include firms, users, interest groups, standards organizations and governments. Standardizatio ...
processes. In this function they are often dedicated to the
public domain The public domain (PD) consists of all the creative work to which no exclusive intellectual property rights apply. Those rights may have expired, been forfeited, expressly waived, or may be inapplicable. Because those rights have expired ...
with their
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the ...
as
public domain software Public-domain software is software that has been placed in the public domain, in other words, software for which there is absolutely no ownership such as copyright, trademark, or patent. Software in the public domain can be modified, distribute ...
. Examples are the first CERN's httpd,
Serpent Serpent or The Serpent may refer to: * Snake, a carnivorous reptile of the suborder Serpentes Mythology and religion * Sea serpent, a monstrous ocean creature * Serpent (symbolism), the snake in religious rites and mythological contexts * Serp ...
cipher, base64 variants, and SHA-3. The Openwall Project maintains a list of several algorithms with their reference
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the ...
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

Testing An examination (exam or evaluation) or test is an educational assessment intended to measure a test-taker's knowledge, skill, aptitude, physical fitness, or classification in many other topics (e.g., beliefs). A test may be administered verba ...
the implementation-vs-specification relationship further enhances the production's inter-process efficiencies:


References

{{Reflist Test items Software engineering terminology