55AA-010 · This is 55AA-010, week 9, session 1. It focuses on "Interprocedural analysis and call graphs" and turns the weekly plan into discussable, practicable, and reviewable class artifacts.

Back to course

Interprocedural analysis and call graphs: Concepts, Cases, and Method

This is 55AA-010, week 9, session 1. It focuses on "Interprocedural analysis and call graphs" and turns the weekly plan into discussable, practicable, and reviewable class artifacts.

Learning Objectives

  • Explain where "Interprocedural analysis and call graphs" fits in this course and what core problem it addresses.
  • Analyze a case or system related to "Interprocedural analysis and call graphs" using today's method.
  • Connect the session task to the course outcome: Construct CFGs, call graphs, and data-flow facts.
  • Complete the questions, notes, and synthesis required by lecture with guided questions.

Prerequisites

  • Compilers or equivalent AST/IR background.
  • Have read the weekly task: Extend the analyzer to handle function calls.
  • Be able to record assumptions, evidence, risks, and questions to validate in class.

Preparation

  • Open the 55AA-010 course repository, readings, and this week's task brief.
  • Write two true/false claims or open questions about "Interprocedural analysis and call graphs" before class.
  • Be ready for concept comparison and case reading.

Class Flow

0-8
Review and entry question

Review the previous conclusions and lead into "Interprocedural analysis and call graphs".

review
Question

When judging "Interprocedural analysis and call graphs", what fact should be confirmed first?

Expected answer: First confirm the object, boundary, attacker or user capability, observable evidence, and evaluation criteria.

Follow-up: If that fact is not directly observable, what minimal experiment would you design?

Script

Opening

Today's session focuses on "Interprocedural analysis and call graphs". We will not treat it as an isolated topic. We place it in the course workflow: define the object and boundary, gather evidence, and turn the result into engineering action.

Demo / Exercise

Interprocedural analysis and call graphs class demo

Open the example, data, or project fragment related to "Interprocedural analysis and call graphs".

Slides
Open slides placeholder
Slide 1Interprocedural analysis and call graphs: Session Question
Slide 2Concept Framework
Slide 3Case Path
Video Media
Video placeholder link

Interprocedural analysis and call graphs: lecture video

8-18
Diagnostic question

Ask students to judge the most commonly misunderstood boundary in this topic.

diagnostic
Question

When judging "Interprocedural analysis and call graphs", what fact should be confirmed first?

Expected answer: First confirm the object, boundary, attacker or user capability, observable evidence, and evaluation criteria.

Follow-up: If that fact is not directly observable, what minimal experiment would you design?

Script

Review

Return to the previous discussion. State one important conclusion in a sentence, then state one remaining uncertainty. We will carry those uncertainties into today's analysis.

Demo / Exercise

Interprocedural analysis and call graphs class demo

For the weekly task "Extend the analyzer to handle function calls.", write the object, boundary, evidence, risk, and next action.

Slides
Open slides placeholder
Slide 2Concept Framework
Slide 3Case Path
Slide 4Lecture with guided questions
Video Media
Video placeholder link

Interprocedural analysis and call graphs: lecture video

18-34
Core concept explanation

Establish the terms, objects, boundaries, and reasoning path for "Interprocedural analysis and call graphs".

concept
Question

Where is the weekly task "Extend the analyzer to handle function calls." most likely to fail?

Expected answer: Common failures include unclear goals, insufficient evidence, unreproducible environment, and conclusions without process.

Follow-up: What checklist item would reveal this failure early?

Script

Guided question

Here is the first judgment question: if we know only the conclusion but not the environment, inputs, or evidence, can that conclusion guide engineering decisions? Answer yes or no first, then name your assumptions.

Demo / Exercise

Interprocedural analysis and call graphs class demo

Open the example, data, or project fragment related to "Interprocedural analysis and call graphs".

Slides
Open slides placeholder
Slide 3Case Path
Slide 4Lecture with guided questions
Slide 5After-class Deliverable
Video Media
Video placeholder link

Interprocedural analysis and call graphs: lecture video

34-48
Case dissection

Use a small case to move from symptoms to root cause, evidence, and engineering action.

case
Question

Where is the weekly task "Extend the analyzer to handle function calls." most likely to fail?

Expected answer: Common failures include unclear goals, insufficient evidence, unreproducible environment, and conclusions without process.

Follow-up: What checklist item would reveal this failure early?

Script

Explanation

For "Interprocedural analysis and call graphs", the key is not memorizing definitions but following an analysis order: define the object, list boundaries, state who can do what, find observable evidence, and turn the conclusion into a task or test.

Demo / Exercise

Interprocedural analysis and call graphs class demo

For the weekly task "Extend the analyzer to handle function calls.", write the object, boundary, evidence, risk, and next action.

Slides
Open slides placeholder
Slide 4Lecture with guided questions
Slide 5After-class Deliverable
Video Media
Video placeholder link

Interprocedural analysis and call graphs: demo and review video

48-62
Method framework

Abstract the case into a reusable checklist and analysis steps.

method
Question

What step is missing between concept understanding and engineering execution?

Expected answer: Concepts must become objects, inputs, outputs, judgment criteria, and evidence format.

Follow-up: How would you write this requirement into homework or project acceptance criteria?

Script

Practice transition

Now apply that order to the weekly task: Extend the analyzer to handle function calls. Do not write only the final answer; preserve how you ruled out alternatives.

Demo / Exercise

Interprocedural analysis and call graphs class demo

Open the example, data, or project fragment related to "Interprocedural analysis and call graphs".

Slides
Open slides placeholder
Slide 5After-class Deliverable
Video Media
Video placeholder link

Interprocedural analysis and call graphs: demo and review video

62-75
Short practice

Students apply the method individually or in pairs to the weekly task: Extend the analyzer to handle function calls.

practice
Question

What step is missing between concept understanding and engineering execution?

Expected answer: Concepts must become objects, inputs, outputs, judgment criteria, and evidence format.

Follow-up: How would you write this requirement into homework or project acceptance criteria?

Script

Summary

Today's deliverable is not polished prose. It is a set of reviewable judgments. After class, complete the required evidence, commands, screenshots, logs, or review notes.

Demo / Exercise

Interprocedural analysis and call graphs class demo

For the weekly task "Extend the analyzer to handle function calls.", write the object, boundary, evidence, risk, and next action.

Slides
Open slides placeholder
Slide 6After-class Deliverable
Video Media
Video placeholder link

Interprocedural analysis and call graphs: demo and review video

75-84
Whole-class discussion

Collect answers and compare evidence quality, assumptions, and missing risks.

discussion
Question

What step is missing between concept understanding and engineering execution?

Expected answer: Concepts must become objects, inputs, outputs, judgment criteria, and evidence format.

Follow-up: How would you write this requirement into homework or project acceptance criteria?

Script

Summary

Today's deliverable is not polished prose. It is a set of reviewable judgments. After class, complete the required evidence, commands, screenshots, logs, or review notes.

Demo / Exercise

Interprocedural analysis and call graphs class demo

Open the example, data, or project fragment related to "Interprocedural analysis and call graphs".

Slides
Open slides placeholder
Slide 7After-class Deliverable
Video Media
Video placeholder link

Interprocedural analysis and call graphs: demo and review video

84-90
Summary and next-session hook

Summarize the core judgment for "Interprocedural analysis and call graphs" and leave a lab or review question.

summary
Question

What step is missing between concept understanding and engineering execution?

Expected answer: Concepts must become objects, inputs, outputs, judgment criteria, and evidence format.

Follow-up: How would you write this requirement into homework or project acceptance criteria?

Script

Summary

Today's deliverable is not polished prose. It is a set of reviewable judgments. After class, complete the required evidence, commands, screenshots, logs, or review notes.

Demo / Exercise

Interprocedural analysis and call graphs class demo

For the weekly task "Extend the analyzer to handle function calls.", write the object, boundary, evidence, risk, and next action.

Slides
Open slides placeholder
Slide 8After-class Deliverable
Video Media
Video placeholder link

Interprocedural analysis and call graphs: demo and review video

Homework

Extend the analyzer to handle function calls. Prepare a concept map, case breakdown, and a verifiable question list.