COP5021
Program Analysis
Spring 2006
Home
|
Course Information
|
Course Objectives
|
Resources
|
Course Notes and Assignments
|
Exams
Week #1:
(Jan 10, Jan 12)
-
Semantics Based Program Analysis
Outline
:
Motivation
Partially ordered sets
Complete partially ordered sets
Continuous functions and fixed points
Recursive programs and their denotational semantics
Verification techniques based on denotational semantics
Lecture Slides, Notes, and References
:
Lecture Notes #1
, pp. 1-62
Week #2:
(Jan 17, Jan 19)
Outline
:
Motivation
Partially ordered sets
Complete partially ordered sets
Continuous functions and fixed points
Recursive programs and their denotational semantics
Verification techniques based on denotational semantics
Lecture Slides, Notes, and References
:
Lecture Notes #1
, pp. 63-85
Example: denotational semantics of recursive programs
Example: denotational semantics of while programs
Homework Assignments
:
Assignment #1
Due
: February 2, 2006
Week #3:
(Jan 24, Jan 26)
Outline
:
Motivation
Partially ordered sets
Complete partially ordered sets
Continuous functions and fixed points
Recursive programs and their denotational semantics
Verification techniques based on denotational semantics
Lecture Slides, Notes, and References
:
Lecture Notes #1
, pp. 86-
Example: static analysis
Week #4:
(Jan 31, Feb 2)
-
Data Flow Analysis
Outline
:
Introduction
Available expressions analysis
Reaching definitions analysis
Very bussy expressions analysis
Live variables analysis
Lecture Slides, Notes, and References
:
Lecture Notes #2
, pp. 1-14
Week #5:
(Feb 7, Feb 9)
Outline
:
Introduction
Available expressions analysis
Reaching definitions analysis
Very bussy expressions analysis
Live variables analysis
Lecture Slides, Notes, and References
:
Lecture Notes #2
, pp. 15-24
Midterm Exam #1
:
Midterm Exam #1
, February 7
Week #6:
(Feb 14)
Outline
:
Introduction
Available expressions analysis
Reaching definitions analysis
Very bussy expressions analysis
Live variables analysis
Lecture Slides, Notes, and References
:
Lecture Notes #2
, pp. 25-31
Homework Assignments
:
Assignment #2
Due
: February 28, 2006
Week #6:
(Feb 16)
-
Model Checking
Outline
:
Introduction
Linear temporal logic (LTL)
The computational tree logic CTL*
CTL (LTL, CTL*) model checking
Binary decision diagrams
Symbolic model checking
Model checking in practice
Lecture Slides, Notes, and References
:
Lecture Notes #3
, pp. 1-12
Week #7:
(Feb 21, Feb 23)
-
Model Checking
Outline
:
Introduction
Linear temporal logic (LTL)
The computational tree logic CTL*
CTL (LTL, CTL*) model checking
Binary decision diagrams
Symbolic model checking
Model checking in practice
Lecture Slides, Notes, and References
:
Lecture Notes #3
, pp. 13-35
Week #8:
(Feb 28, March 2)
-
Model Checking
Outline
:
Introduction
Linear temporal logic (LTL)
The computational tree logic CTL*
CTL (LTL, CTL*) model checking
Binary decision diagrams
Symbolic model checking
Model checking in practice
Lecture Slides, Notes, and References
:
Lecture Notes #3
, pp. 36-
Week #9:
(March 7, March 9)
-
Model Checking
Outline
:
Introduction
Linear temporal logic (LTL)
The computational tree logic CTL*
CTL (LTL, CTL*) model checking
Binary decision diagrams
Symbolic model checking
Model checking in practice
Lecture Slides, Notes, and References
:
Lecture Notes #3
, pp. ?-
Midterm Exam #2
- March 7
Week #10:
(March 13-17)
-
Spring Break
Week #11:
(March 21, March 23)
-
Model Checking
Outline
:
Introduction
Linear temporal logic (LTL)
The computational tree logic CTL*
CTL (LTL, CTL*) model checking
Binary decision diagrams
Symbolic model checking
Model checking in practice
Lecture Slides, Notes, and References
:
Abstraction
Week #12:
(March 28, March 30)
-
Abstract Data Types
Outline
:
Introduction
Signatures and concrete data types
Operations with data types
Initial and final data types
Equational logic
Specifications
Proving correctness
Abstractions of data types
Lecture Slides, Notes, and References
:
Lecture Notes #4
, pp. 1-49
Week #13:
(April 4, April 6)
-
Abstract Data Types
Outline
:
Introduction
Signatures and concrete data types
Operations with data types
Initial and final data types
Equational logic
Specifications
Proving correctness
Abstractions of data types
Lecture Slides, Notes, and References
:
Lecture Notes #4
, pp. 50-
Correctness proof of the Stack specification
Abstractions of data types
Homework Assignments
:
Assignment #3
Due
: April 20, 2006
Week #14:
(April 11, April 13)
-
Abstract Data Types
Outline
:
Introduction
Signatures and concrete data types
Operations with data types
Initial and final data types
Equational logic
Specifications
Proving correctness
Abstractions of data types
Lecture Slides, Notes, and References
:
Abstractions of data types
Data Flow Analysis