定义和解释计算机程序设计语言的语义，使语义形式化的学科。提供程序设计语言的形式语义的方法很多，其中主要类别有：
类型论.类型论提供了设计分析和研究类型系统的形式基础。实际上，很多计算机科学家使用术语“类型论”来称唿对编程语言的类型语言的形式研究，尽管有些人把它限制于对更加抽象的形式化如有类型lambda演算的研究。
程序分析.程序分析是指自动分析一个程序的包括正确性、健壮性、安全性和活跃性等特征的过程。 程序分析主要研究两大领域：程序的优化和程序