Formal methods
<mathematics, specification> Mathematically based techniques for the specification, development and verification of software and hardware systems.
Referentially transparent languages are amenable to symbolic manipulation allowing program transformation (e.g. changing a clear inefficient specification into an obscure but efficient program) and proof of correctness.
Oxford FM archive (http://www.comlab.ox.ac.uk/archive/formal-methods.html).



