This course will focus on the analysis and security of apps, including web apps, mobile apps, and distributed apps. Particular emphasis will be placed on programming language techniques to analyze and secure apps.
The course will be a combination of lectures and paper discussion. We will focus primarily on recent papers, from the last 3-4 years. See the lecture schedule for more detailed information on topics and papers covered.
For those taking the course for credit, evaluation will be based on class participation, and a final project. More information about the final project is available here. Auditors are welcome.
The course is intended for graduate students at all levels as well as advanced undergraduates. It is expected that students have taken a course in the foundations of programming languages, such as CS 152.
Discussion and the exchange of ideas are essential to academic work. For paper readings, assignments, in-class exercises, etc., you are encouraged to consult with your classmates, and to share sources. For the class project, you may work in groups, and work submitted for evaluation may be the result of the collaborative effort of your group. All members of the group should be clearly indicated to the course staff, and the course staff should be notified if group membership changes. The class project should be original research, and the same standards of professional conduct for publishable research apply to your class project.