Program specification
![]() | It has been suggested that this article be merged into Functional specification. (Discuss) Proposed since March 2007. |
A program specification is the definition of what a computer program is expected to do. It can be informal, in which case it can be considered as a blueprint or user manual from a developer point of view, or formal, in which case it has a definite meaning defined in mathematical or programmatic terms. In practice, most successful specifications are written to understand and fine-tune applications that were already well-developed, although safety-critical software systems are often carefully specified prior to application development. Specifications are most important for external interfaces that must remain stable.
See also
In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics.
- Formal specification
- Program transformation
- Denotational semantics
- Operational semantics
- Axiomatic semantics
- Design by contract
- Abstract Machine Notation (AMN)
- Vienna Development Method (VDM)
- Z notation
- Software engineering
- Specification language
- Programming language specification
- Program refinement