CS 711: Advanced Programming LanguagesTopics in Program Analysis |
Instructor:
Radu Rugina
Time:
Tuesday, Thursday 2:30 - 3:30 pm
Place: Upson 5130
Prerequisites: CS412 and CS411/CS611, or permission of the
instructor.
This seminar covers advanced topics in program analysis. We will look at analysis techniques that target various programming constructs, including procedures, virtual calls, objects, pointers, recursive structures, threads, and executable code. We will discuss the use of types, program annotations, and specifications in combination with static analysis; and the applications of static analysis to program optimization, verification, and error detection. Finally, we will look at approaches for the automatic generation of static analyzers.
The reading list includes relatively recent papers in each area, as shown in the tentative schedule below. The format of each lecture consists of a 35 min. presentation, and a discussion of the subject for the remaining 25 min. Students who enroll in this class are expected to read each of the papers and express opinions during the discussions; present 1-2 papers; and complete a small course project.
A relevant book that covers several of the topics below is "Principles of Program Analysis", by Flemming Nielson, Hanne Riis Nielson, and Chris Hankin, Springer 1999, ISBN 3-540-65410-0.
* will be held in Duffield 340.