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 specification , in which case it has a definite meaning defined in mathematical or programmatic terms.
=See also=
Formal methods
Formal verification
Formal specification
Program transformation
Denotational semantics
Operational semantics
Design by contract
Abstract Machine Notation (AMN)
Vienna Development Method (VDM)
Z notation
Software engineering
Specification language
Refinement