| Lec # | topics | key dates |
|---|---|---|
| 1 |
Introduction
Static and Dynamic Analysis |
Assignment 1 out |
| Abstract Interpretation | ||
| 2 | A Semantics-based Tool for Program Analysis | Assignment 1 due |
| 3 | A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints | |
| Dynamic Analysis | ||
| 4 | Chaining Approach for Software Test Data Generation | |
| 5 | Efficient Path Profiling | |
| 6 | Simplifying and Isolating Failure-inducing Input | |
| 7 | Dynamically Discovering Likely Program Invariants to Support Program Evolution | |
| Types | ||
| 8 |
Principal Type-schemes for Functional Programs
Proofs about a Folklore Let-polymorphic Type Inference Algorithm |
|
| 9 | Introduction to Part II, Polymorphic Lambda Calculus | |
| 10 |
Lackwit: A Program Understanding Tool based on Type Inference
Finding User/Kernel Pointer Bugs with Type Inference |
|
| 11 |
Points-to Analysis
In Almost Linear Time By Type Inference of Programs with Structures and Unions |
|
| Model Checking | ||
| 12 | The Spin Model Checker | |
| 13 | Optimizing Symbolic Model Checking for Statecharts | |
| 14 |
Constructing Compact Models of Concurrent Java® Programs
Using Predicate Abstraction to Reduce Object-oriented Programs for Model Checking |
|
| 15-17 | Student Project Presentations | |
Calendar
Course Info
Instructor
Departments
As Taught In
Fall
2005
Level
Learning Resource Types
group_work
Projects with Examples