Course Syllabus
The table below gives the planned syllabus for the course. The syllabus lists the topics in order, and gives access to each lecture's meeting outlines, and homeworks and readings.
Material describing the course and its objectives and grading policies is available elsewhere.
This syllabus is subject to change. If it is necessary to revise the schedule, then this page will be updated to reflect the changes.
The readings are from Principles of Programming Analysis (second corrected printing) by Flemming Nielson, Hanne Riis Nielson, and Chris Hankin (Springer-Verlag, 2005).
Dates | Topics | Homework Due | Readings | Optional Readings |
---|---|---|---|---|
Jan. 11 | Introduction | Handouts, Grading Policy | Forward, Preface | |
Jan. 13 | Overview of Analysis Techniques (Syntax and Semantics of WHILE) | Ch 1, 1.1-1.2 | [Hedin-etal09] (Concept Overview) | |
Jan. 18 | MLK day, no class | |||
Jan. 20 | Overview of Analysis Techniques (Parsing and ASTs for WHILE) | HW1 | [Hedin-etal09] (Concept Overview) | Ch 1.2 |
Jan. 25 | Overview of Analysis Techniques (Dataflow Analysis) | Ch 1.3 | Ch 1.4 | |
Jan. 27 | Overview of Analysis Techniques (Abstract Interpretation) | Ch 1.5 | ||
Feb. 1 | Overview of Analysis Techniques (Type and Effect Systems) | Ch 1.6 | ||
Feb. 3 | ASTs and CFGs in JastAdd (Attributes, Rewrites) | [Hedin-etal09] (Abstract Syntax, Attributes) | Ch 2.1 | |
Feb. 8 | ASTs and CFGs in JastAdd (Attributes, Rewrites) | [Hedin-etal09] (Abstract Syntax, Attributes) | Ch 2.1 | |
Feb. 10 | Intraprocedural Data Flow Analysis (Blocks and Labels, Notation) | Ch 2.1 | ||
Feb. 15 | Intraprocedural Data Flow Analysis (Blocks and Labels, Notation) | Ch 2.1 | ||
Feb. 17 | Theory of Data Flow Analysis (Available Expressions) | Ch 2.1 | ||
Feb. 22 | Coding the RD Analysis and Type Checking in JastAdd | HW2 | Ch 2.1.1 | |
Feb. 24 | Type Checking | Ch 2.1.2 | ||
Feb. 25 | Data Flow Analysis (VBE, Coding in JastAdd) | Ch 2.1.3 | ||
Mar. 1 | (Work on semester project) | |||
Mar. 3 | (Work on semester project) | |||
Mar. 8-10 | Spring Break, no class | |||
Mar. 15 | (Work on semester project) | |||
Mar. 17 | (Work on semester project) | |||
Mar. 22 | Review of Data Flow Analysis | HW3 | Ch 2 | |
Mar. 24 | Semantics | Ch 2.2 | ||
Mar. 29 | Structural Operational Semantics | Ch 2.2 | ||
Mar. 31 | Correctness of LV analysis | Ch 2.2 | Ch 4.1 | |
Apr. 5 | Correctness of LV analysis | |||
Apr. 7 | Applying Data Flow Analysis to Code | |||
Apr. 12 | Monotone Frameworks | Ch 2.3 | ||
Apr. 14 | Monotone Frameworks | Ch 2.3 | ||
Apr. 19 | Project Discussions | HW4, p1 | ||
Apr. 21 | Project Discussions | HW4, p2 | ||
Apr. 26 | Abstract Interpretation | Ch 4.1 | ||
April 28-May 4 | Final Oral Exams |
Bibliography
- [Hedin-etal09]
- Görel Hedin and others. "JastAdd Manual". http://jastadd.org/jastadd-reference-manual Checked January 8, 2010.
Previous syllabi from earlier offerings of the class are also available. See the courses's about page.
Last modified Wednesday, April 21, 2010.
This web page is for the Spring 2010 offering of COP 5021 at the University of Central Florida. The details of this course are subject to change as experience dictates. You will be informed of any changes. Please direct any comments or questions to Gary T. Leavens at leavens@eecs.ucf.edu. Some of the policies and web pages for this course are quoted or adapted from other courses I have taught, in particular, COP 4020 and Com S 641.