| 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 |
|