CSC535
:
Overview: Why study semantics?
[2/21]
To prove specific properties of particular programs (i.e., program verification)
Still fairly labor-intensive
But important in some domains (safety-critical systems, hardware design, security protocols, inner loops of key algorithms, ...)
To develop intuitions for
informal
reasoning about programs
To prove general facts about all the programs in a given programming language (e.g., safety or isolation properties)
To deeply understand language features (and their interactions) and develop principles for better language design