CSCI  B629  Language-Based Approaches to Security

Spring 2010

Course Information

Time & Place

Classes meet on Tuesday and Thursday, 1pm - 2:15pm in Lindley Hall 115.


Amal Ahmed
Office: Lindley 301G
Phone: 855-4579
Email: amal at
Office hours: by appointment (email me)

Course Description

This course discusses the use of programming-language techniques and abstractions to reason about, and enforce, security. In particular, we will focus on specification of information security through information flow properties (which permit description of end-to-end requirements such data confidentiality and integrity) and we will look at advances in the development of compilers aimed at ensuring that security policies enforced by the source-language programming model are also enforced in low-level code.

Topics include:

The course is a research seminar that focuses on reading and discussing papers from the scientific literature. In each class, a student will be responsible for presenting one or two papers. All students will be required to read the paper(s) and come to class prepared to discuss the reading in depth. In addition, students will undertake a research or survey project (see here for details), working individually or in pairs. At the end of the semester, students will present projects in class and prepare a written project report.

In addition to the above, students will be assigned two papers at the beginning of the semester for which they must submit a short review. Reviewing scientific papers is an important service in research and academia, and this requirement is aimed at giving you some practice as well as feedback.

The class will be based primarily on presentation and discussion of research papers. There will be few formal lectures.

Course grades will be based on a combination of class participation (20%), paper presentations (35%), paper reviews (10%), and project (35%, which includes a project proposal, final project presentation, and the project report). These weights are subject to change.

This course is intended for graduate students at all levels as well as advanced undergraduates. Familiarity with programming language semantics and type systems (as covered in B522), or a willingness to pick up the material --- for instance, read Pierce, chapters 1-9, and Cardelli's Type Systems --- is required, since most of the readings assume basic familiarity with these. Familiarity with compilers is helpful but not required.

Auditors are welcome. If you wish to audit the course, you will be expected to do the readings, participate in class discusion, and give one paper presentation.


(Subject to change)

# Date Papers Presenter
1 Tu 1/12 Amal Ahmed
2 Th 1/14 Amal Ahmed
3 Tu 1/19 No class (POPL)
4 Th 1/21 No class (POPL)
5 Tu 1/26 Yin Wang
6 Th 1/28 Kyle Ross
7 Tu 2/2 Chris Ramstetter
8 Th 2/4 Girish Subramanian
Fr 2/5 Amal Ahmed @
PL Seminar,
LH 115, 4pm
9 Tu 2/9 Nilesh Mahajan
10 Th 2/11 Andy Keep
11 Tu 2/16 Nilesh Mahajan
12 Th 2/18 Girish Subramanian
13 Tu 2/23 Yin Wang
14 Th 2/25 Lindsey Kuper
15 Tu 3/2 Roshan James
16 Th 3/4 Emily Lyons
17 Tu 3/9 Abhishek Kulkarni
18 Th 3/11 Aaron Hsu
Tu 3/16 No class (spring break)
Th 3/18 No class (spring break)
19 Tu 3/23 James Bennett
20 Th 3/25 Emily Lyons
21 Tu 3/30 Aaron Hsu
22 Th 4/1 Lindsey Kuper
23 Tu 4/6 Michael Adams
24 Th 4/8 Eric Holk and Abhishek Kulkarni
25 Tu 4/13 James Bennett
26 Th 4/15 Chris Ramstetter
27 Tu 4/20 Eric Holk
28 Th 4/22 Wren Thornton
29 Tu 4/27 Project Presentations
30 Th 4/29 Project Presentations

Additional Reading

Amal Ahmed
Last modified: Tue Apr 13 18:02:12 EDT 2010

Valid XHTML 1.0!