The curriculum consists of a 9-day course organized around the following topics:

  • Introduction and Foundational Theory This portion of the school will introduce students to the basic principles of program analysis and programming language design, and provide them with the technical background necessary to understand the later lectures.
  • Advanced Techniques for Software Reliability This portion of the school will delve into recent research in the area of language-based tools for improving software quality and reliability. The lectures will focus on several technologies for detecting software defects in large-scale systems. The intent is to give students sufficient depth in this area to allow them build upon these results in their own future research.
  • Theory, in Practice This portion of the school will expose students to applications of the theoretical tools discussed above to real-world systems. For example, students will see how type theory can help find bugs in the Linux kernel, how model checking can be used to check software protocols in Microsoft Windows device drivers.
  • Question and Answer
    In addition to the lectures, the students will have scheduled opportunities to ask questions of the presentors.


  Contact: summer-school-security at  
This page is the property of the University of Oregon