COSC835: Doctoral Seminar in Computer Security
Programming Languages Security

Who, What, and Where

Micah Sherr


Email: click here (GPG/PGP key)

Office Hours:
Fridays, 2:30-3:30pm

Look left. More importantly, this is a doctoral seminar. That means that everyone should expect to participate. This will be a very interactive class. Expect lots of discussions.

See below.

This class will take place on Tuesdays from 2-3:50pm in White-Gravenor Hall, room 204.
This class will also have an online presence. Students are expected (read: required) to participate in online discussions on Piazza.

You must be a current Ph.D. student to enroll in this course.


This doctoral seminar investigates current trends in programming language security. Students will examine case studies and read seminal research papers to better understand how programming language techniques can be used to design more secure software and systems to mitigate (or thwart) attacks.

Topics include language-based capabilities, access controls, safe programming languages, information flow and taint tracking, proof-carrying-code, and formal verification. The course requires students to engage in novel security research, supervised by the instructor.

Class Organization

This will not be a lecture-oriented class in which I spew information that you will later regurgitate to me during exams. Classes will be discussion-focused and will be highly interactive. Participation will be a large component of students' grades. More information about grading is available below. With the exception of the first class, each class will consist of two 50-minute paper presentations and a 10-minute project status update.

Course Policies

Grading, projects, presentations, etc.


Hopefully not too arbitrary

Academic Integrity

Dos and Definitely Do Nots


Will ye' pass, or will ye' fail?

Course Project

Students will participate in a novel research project related to programming language security. Projects cannot "reinvent the wheel" -- they must cover some novel research area. The topic and scope of projects must be approved by the instructor.

The output of a project should be a workshop-length paper. Your goal, as Ph.D. students, should be to produce quality work that will be published.

Students may work in groups after having obtained my permission; scope of project should be proportional to group size

Project deadlines

  • September 22nd or before: Project must be approved by instructor
  • September 29th: In-class project proposal presentations
  • October 13th: Project related work due
  • October 27th: Project status update due and in-class status presentation
  • December 8th: Final reports due and final project presentations