In theoretical computer science formal semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages and models of computation.

The formal semantics of a language is given by a mathematical model to represent the possible computations described by the language.

There are several approaches to formal semantics. These include:

The field of formal semantics also studies the relations between different models, the relations between different approaches to meaning, and the relation between computation and the underlying mathematical structures, from fields such as logic, set theory, model theory, category theory, etc.

It has close links with other areas of computer science such as the design of Programming Languages, Type theory, Compilers and Interpreterss, Program verification and Model checking.