Chris Hawblitzel

Research

My interests include programming languages, operating systems, and security. I am particularly interested in the use of safe programming languages as operating systems, and I have worked to integrate features traditionally associated with operating systems into safe programming language environments.

Publications

Teaching

Computer Science 68, Principles of Programming Languages, Winter 2004.

Computer Science 37, Computer Architecture, Summer 2003.

Computer Science 37, Computer Architecture, Spring 2003.

Computer Science 68, Principles of Programming Languages, Winter 2003.

I taught Computer Science 88/188 in Fall 2002: "Types, proofs, and secure systems." This course examines the role of programming language and operating system technology in building flexible and secure systems. Topics will include software verification, buffer overflow prevention, information flow control, capabilities, and typed low-level languages such as Java bytecode, Microsoft CLR, proof-carrying code, and typed assembly language.

Computer Science 37, Computer Architecture, Spring 2002.

Computer Science 68, Principles of Programming Languages, Winter 2002.

Computer Science 37, Computer Architecture, Spring 2001.

Computer Science 68, Principles of Programming Languages, Winter 2001.

I taught Computer Science 88/188 in Fall 2000: "Programming language and operating system support for secure systems."  As commercial companies deploy services on the internet, concerns about the security of these services are growing, frequently reaching the front pages of major newspapers and magazines.  This course examines the impact of increased security concerns on the design of operating systems and programming languages, focusing on recent "hot topics" in conferences and journals.  Topics will include capability systems, information flow control, denial of service attacks, firewalls, Java operating systems, proof carrying code, typed assembly language, agents, applets, and active networks.