About Summer School
The summer school consists of lectures by leading experts in the field from around the world. The aim of the school is to introduce students and young researchers to important new areas and the latest results in programming languages, program analysis, and software verification. The school aims to bring the state of the art in research in this area to senior undergraduate students, graduate students, research scholars and faculty members, and to provide a forum for Indian and international researchers to interact.
The participants are expected to have reasonable exposure to the fundamental ideas in programming languages to derive maximum benefit from the lectures. Undergraduate courses in compilers, automata theory and logic are recommended as prerequisites. However, if you have exposure in only some of these prerequisites, and have sufficient enthusiasm about this research area to learn, you can benefit from the school. The lectures are designed to offer self-contained introductions to chosen topics, leading up to some open problems for research.
We wish to emphasize here that this is not a lecture series covering the syllabus of any university course–the objective of the summer school is to bring to the participants the latest research results in the area, and help get them started in doing research.
We hope to scribe these lectures, edit these notes and produce a volume that would be made available along with some Web materials. The participants may be expected to write surveys/ tutorials/ Web materials or interact with speakers on various research problems of mutual interest. Microsoft Research India will support travel and board for a few faculty members and for about 50 to 60 students.
Agenda with Abstracts
June 16 – Preparatory lectures
- Shaz Qadeer, Taming Concurrency: A Program Verification Perspective, slides (pdf)
- Dan Grossman, Programming-Language Motivation, Design, and Semantics for Software Transactions, slides (pdf)
- Jeff Foster, Improving Software Quality with Type Qualifiers, slides-part1 (pdf), slides-part2 (pdf), slides-part3 (pdf), miniqual code (for programming exercise), notes from Wednesday (txt)
June 23 – Preparatory lectures
- Tim Harris, Implementing Software Transactions, slides-intro (pdf), slides-main (pdf)
- Nikolaj Bjorner, SMT solvers in Program Analysis and Verification
- Hongseok Yang, Program Verification Using Separation Logic lecture0-slides (pdf), lecture1-slides (pdf), lecture2-slides (pdf), lecture3-slides (pdf), lecture4-slides (courtesy Peter O’Hearn) (pdf)