02242: Program Analysis

Fall 2026

Christian Gram Kalhauge

Table of Contents

  1. Practical Information
  2. The Course
  3. The Lectures
  4. Evaluation

Practical Information (§1)

  • We are Christian (mail), the teacher, and Oskar, Alessandro, and Emil, who are the TA's.

  • We meet 13-17 on Mondays in 358-060A

  • The course description is available here.

  • Assignments are available on LEARN.

  • All feedback is appreciated, either by mail or via the anonymous feedback system.

The Course (§2)

Feedback (§2.1)

  • send suggestions to chrg@dtu.dk

  • or use the Google Form

  • please.

Teaching Philosophy (§2.2)

You only learn from your mistakes.

Didactic Contract (§2.3)

  • Programming skills are expected and required to do well in this course.

  • Class is not mandatory.

  • However, you should expect you to use 14 hours a week.

  • I'll try not to bore you.

  • Please do not use Agentic AI.

Groups (§2.4)

  • Feedback Groups: groups ~ 4 random students per group

  • Project Group: 4 - 5 students

The Challenge (§2.5)

  • JPAMB — kalhauge/jpamb

  • Predict if a program can be made to exhibit a behavior.

  • Check out the README.

Shepards (§2.6)

  • Every project group gets one TA assigned.

The Lectures (§3)

  • Predict if a program can be made to exhibit a behavior.

  • Check out the README.

Structure (§3.1)

  • 13:00 Peer-feedback

  • 13:20 Communal Feedback

  • 13:30 Lecture

  • 15:00 Lab-work

Questions & Feedback Groups (§3.2)

  • At the end of class I ask 3 questions.

  • Answered by your feedback groups.

Schedule (§3.3)

NoDateTopicDue
0108-31Introduction
0209-07Syntactic Analysis (*)
0309-14Semantics (*)Syntatic Analysis
0409-21Dynamic Analysis (*)
0509-28Bounded Static Analysis (*)Dynamic Analysis
0610-04Unbounded Static Analysis (*)
10-12Autumn holidayStatic Analysis
0810-19Lab-dayProposal (+1 day)
0710-26Concolic Execution (*)
0911-02Context Sensitive Analysis (*)
1011-09Lab-day
1111-16How to Write a Good Paper (*)
1211-23Lab-day
1311-31Q/A & How to-do a good presentationPaper
12-07Video & Contribution Table
12-09Exam?
12-10Exam?
12-11Exam?

Evaluation (§4)

  • 3 mandetory assignments (pass / fail),

  • questions from the lectures, and

  • a project

Mandetory Assignments (§4.1)

  • Three analyses

  • Semi-individual tasks

  • Must work on at least the Simple benchmarks

  • Syntatic Analysis — The score of your syntatic analysis.

  • Dynamic Analysis — The score and a trace of your dynamic analysis on all benchmarks.

  • Static Analysis — The score and a trace of your static analysis on all benchmarks.

Project (§4.2)

  • Either improve the techniques, or

  • Expand the techiniques (add benchmarks).

Important Stuff

  • Proposal.

  • Reported in a Paper.

  • Contribution Table.

  • Defended Orally in a Group.

Proceedings (§4.3)

Checkout the proceedings from last year on learn!