CS 668: Advanced Topics in Software Security
Spring 2013

Instructor: Stephen Checkoway, s@cs.jhu.edu
Lectures: Tuesday and Thursday. 13:30–14:45 in Shaffer Hall, 101


This course will explore recent advances in software security, focusing on offensive security. Students will read, analyze, and present computer security papers that have appeared in recent conferences.



Grades will be determined as follows:


Students are required to have taken and passed a graduate course in computer security.


Reading, presenting, and discussing academic papers is the primary component of this course. To that end, each student will present a recent paper on software security and will be responsible for leading a course discussion on the paper. To facilitate an interesting discussion, prior to the beginning of class, each student needs to write and turn in a short paper summary.

Reading papers

Reading and comprehending a research paper can be a challenging activity. When reading a paper, keep these questions in mind:

  1. What problem does this work try to solve? (Note that this isn't a question about what technical problem the paper overcomes.)

  2. Is this an important problem?

  3. Why is prior work (if any) insufficient to solve the problem?

  4. What is the proposed solution?

  5. What technical contribution does the proposed solution contain?

  6. How is the proposed solution evaluated?

  7. Is the evaluation reasonable?

  8. How would you continue this line of research? (I.e., what future work would you do if you were working on this topic.)

Paper summaries

You will write a structured paper summary for each paper we read in the course. The summary is due at the beginning of class. If for whatever reason you cannot do so, you must contact the instructor no later than the day before; no nonemergency exceptions. Use the summary template to write your summary and turn them in using BlackBoard. You should write about a paragraph for each section in the template.

Paper presentation

Each student will present one paper and lead the corresponding discussion. Plan to spend a combined hour on presentation and discussion. You are free to structure the presentation and discussion however you wish, but at least 15 minutes should be spent on discussion. Recall that class participation is a big part of the grade for this course so feel free to call on students in the class!


Description forthcoming.


There are no exams.

Computer Science Department Academic Integrity

The strength of the university depends on academic and personal integrity. In your studies, you must be honest and truthful. Ethical violations include cheating on exams, plagiarism, reuse of assignments, improper use of the Internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition.

Academic honesty is required in all work you submit to be graded. Except where the instructor specifies group work, you must solve all homework and programming assignments without the help of others. For example, you must not look at any other solutions (including program code) to your homework problems or similar problems. However, you may discuss assignment specifications with others to be sure you understand what is required by the assignment.

If your instructor permits using fragments of source code from outside sources, such as your textbook or on-line resources, you must properly cite the source. Not citing it constitutes plagiarism. Similarly, your group projects must list everyone who participated.

Falsifying program output or results is prohibited.

Your instructor is free to override parts of this policy for particular assignments. To protect yourself: (1) Ask the instructor if you are not sure what is permissible. (2) Seek help from the instructor or TA, as you are always encouraged to do, rather than from other students. (3) Cite any questionable sources of help you may have received.

Students who cheat will suffer a serious course grade penalty in addition to being reported to university officials. You must abide by JHU's Ethics Code: Report any violations you witness to the instructor. You may consult the associate dean of students and/or the chairman of the Ethics Board beforehand. For more information, see the guide on “Academic Ethics for Undergraduates” and the Ethics Board web site.