Calendar · Lecture Notes
MIT OpenCourseWare
Program Analysis
Art: Palmer, Edward, 1803-1872, Figures 113-123. Plate Electrical Machines, 1840 · Public domain
- Instructor
- Prof. Michael Ernst
- Term
- Fall 2005
- Level
- Graduate
- What's inside
- 1 reading · 10 other files · 5 web pages
- Materials open
- MIT OCW
About this course
Source: MIT OpenCourseWare 6.883 Program Analysis, Fall 2005, Prof. Michael Ernst — original course page on ocw.mit.edu ↗. License: CC BY-NC-SA 4.0. Study order: MIT's own listing order, section by section. Taken from MIT's published course files, downloaded from ocw.mit.edu on September 23, 2026. How RedLectern is built.
Materials are grouped the way MIT organized them. A verified, course-wide order has not been established here.
Before you start
Prerequisites are not listed here. Check MIT's own syllabus for this course.
How this course was organized
What's here, and what isn't
- A lecture sequence of 14 items is confirmed. It stays as organized materials rather than a full course order.
Not included here
1 item from the source could not be safely included:
- MIT's page format for this item wasn't recognized clearly enough to place it safely.
Materials by section
Grouped by section, as MIT organized them. Not sequenced or ordered.
Assignments
- Assignment 1 Download
- This file describes HigherOrder Abstract Syntax (HOAS) technique to show that it is also applicable… (elaboration_hard.pdf) Download
- This file includes an analytic approach to characterizing sharing and encapsulation, and a… (object_control_i.pdf) Download
- This file includes a motivating example, followed by a discussion of where inefficient tests come… (test_case_reduct.pdf) Download
Projects
- Javarifier: Inferring Reference Immutability for Java® Download
- Automated Test-case Generation with SAT Download
- Annotation-less Unit Type Inference for C Download
- Safe Test Case Reduction Download
- Automatic Generation of Unit Regression Tests Download
Study Materials
Course outline
Calendar · Lecture Notes
Lecture 2: A Semantics-based Tool for Program Analysis
Calendar · Lecture Notes
Lecture 3: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints
Calendar · Lecture Notes
Lecture 4: Chaining Approach for Software Test Data Generation
Calendar · Lecture Notes
Lecture 5: Efficient Path Profiling
Calendar · Lecture Notes
Lecture 6: Simplifying and Isolating Failure-inducing Input
Calendar · Lecture Notes
Lecture 7: Dynamically Discovering Likely Program Invariants to Support Program Evolution
Calendar · Lecture Notes
Lecture 8: Principal Type-schemes for Functional Programs Proofs about a Folklore Let-polymorphic Type Inference Algorithm
Calendar · Lecture Notes
Lecture 9: Introduction to Part II, Polymorphic Lambda Calculus
Calendar · Lecture Notes
Lecture 10: Lackwit: A Program Understanding Tool based on Type Inference Finding User/Kernel Pointer Bugs with Type Inference
Calendar · Lecture Notes
Lecture 11: Points-to Analysis In Almost Linear Time By Type Inference of Programs with Structures and Unions
Calendar · Lecture Notes
Lecture 12: The Spin Model Checker
Calendar · Lecture Notes
Lecture 13: Optimizing Symbolic Model Checking for Statecharts
Calendar · Lecture Notes
Lecture 14: Constructing Compact Models of Concurrent Java® Programs Using Predicate Abstraction to Reduce Object-oriented Programs for Model Checking
MIT OpenCourseWare, Prof. Michael Ernst, 6.883 Program Analysis, Fall 2005.
License: CC BY-NC-SA 4.0 · Edition: Fall 2005 · Open the original course on OCW ↗
Organized by RedLectern, independent of MIT and not endorsed by MIT.
Per-resource rights are recorded on each resource; All-Rights-Reserved items are link-only, never mirrored.
