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