In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is the standard from which all other implementations and corresponding customizations are derived. An improvement to a reference implementation reflects an unchanging specification. Conversely, a failed attempt at an implementation may prove that the specification is not suitable and needs improvement itself. 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 against which other implementations can be measured;
- Helps to clarify the intent of the specification in situations where conformance tests are inadequate
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.