COS 598E:Foundations of Language-Based Security




Course Description

This course will cover state-of-the-art language-based techniques for increasing the security and reliability of systems software. We will study both static techniques (such as type- and proof-checking technology) as well as dynamic techniques (inlined reference monitors and stack inspection). Throughout the course, we will be concentrating on recent research developments and we will discuss open research problems. Potential topics include:

Mathematical foundations: lambda calculus and proof theory
Type systems for mobile code: typed assembly language
Dependent and linear types
Java security
Runtime checking and monitoring
Security in concurrent systems
Cryptographic protocol analysis

This advanced course is for graduate students and advanced undergraduates who wish to pursue research in programming languages or security. I will assume a basic knowledge of programming language semantics and type systems (at the level of COS 503) and considerable mathematical maturity. Undergraduates who wish to enroll in this course should contact me by e-mail or in person.

Breaking news

If you would like to latex your homework, it would be a good idea to use a package for inference rules such as this one.

The deadline for project proposals has been extended to March 27th.