Content deleted Content added
m Reverted 2 edits by 174.255.0.244 (talk) to last revision by Wrecksdart |
Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
(8 intermediate revisions by 8 users not shown) | |||
Line 1:
{{Short description|
{{Wiktionary}}
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.▼
▲In the [[software development process]],
== Characteristics and examples ==
Reference implementations of algorithms, for instance [[cryptographic algorithm]]s, 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 HTTPd|CERN's httpd]],<ref>{{Cite web |url=https://home.web.cern.ch/science/computing/birth-web/licensing-web |title=Licensing the Web: For everyone |access-date=2014-08-17 |website=[[CERN]] |last=Smith |first=Tim |archive-url=https://web.archive.org/web/
A reference implementation may or may not be production quality. For example, the [[Fraunhofer Society|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.<ref>{{
== Testing ==
[[Software testing|Testing]] the implementation-vs-specification relationship further enhances the [[Product family engineering|production]]'s inter-process efficiencies:
{{
{{
# 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 against which other implementations can be measured;
# Helps to clarify the intent of the specification in situations where [[Conformance testing|conformance tests]] are inadequate<ref>
== References ==
|