Program Analysis via Graph Reachability

11/28/01


Click here to start


Table of Contents

Program Analysis via Graph Reachability

PLDI ?00 Registration Form

PPT Slide

Applications

Collaborators

Themes

Program Slicing

Backward Slice

Backward Slice

Slice Extraction

Forward Slice

Forward Slice

What Are Slices Useful For?

Line-Character-Count Program

Character-Count Program

Line-Character-Count Program

Line-Count Program

Specialization Via Slicing

How are Slices Computed?

How is a PDG Created?

Control Flow Graph

Control Dependence Graph

Flow Dependence Graph

Program Dependence Graph (PDG)

Program Dependence Graph (PDG)

Backward Slice

Backward Slice (2)

Backward Slice (3)

Backward Slice (4)

Slice Extraction

CodeSurfer

PPT Slide

CodeSurfer

PPT Slide

Browsing a Dependence Graph

PPT Slide

PPT Slide

PPT Slide

Interprocedural Slice

Interprocedural Slice

Interprocedural Slice

How is an SDG Created?

System Dependence Graph (SDG)

SDG for the Sum Program

Interprocedural Backward Slice

Interprocedural Backward Slice (2)

Interprocedural Backward Slice (3)

Interprocedural Backward Slice (4)

Interprocedural Backward Slice (5)

Interprocedural Backward Slice (6)

Matched-Parenthesis Path

Interprocedural Backward Slice (6)

Interprocedural Backward Slice (7)

Slice Extraction

Slice of the Sum Program

CFL-Reachability [Yannakakis 90]

Interprocedural Slicing via CFL-Reachability

Asymptotic Running Time [Reps, Horwitz, Sagiv, & Rosay 94]

PPT Slide

Regular-Language Reachability [Yannakakis 90]

CFL-Reachability via Dynamic Programming

Degenerate Case: CFL-Recognition

Degenerate Case: CFL-Recognition

Program Chopping

Non-Transitivity and Slicing

Non-Transitivity and Slicing

Non-Transitivity and Slicing

Non-Transitivity and Slicing

Non-Transitivity and Slicing

Non-Transitivity and Slicing

Non-Transitivity and Slicing

Program Chopping

PPT Slide

Dataflow Analysis

Possibly Uninitialized Variables

Precise Intraprocedural Analysis

PPT Slide

Precise Interprocedural Analysis

Representing Dataflow Functions

Representing Dataflow Functions

PPT Slide

Composing Dataflow Functions

PPT Slide

PPT Slide

PPT Slide

Interprocedural Dataflow Analysis via CFL-Reachability

Asymptotic Running Time [Reps, Horwitz, & Sagiv 95]

Why Bother? “We’re only interested in million-line programs”

Unifying Conceptual Model for Dataflow-Analysis Literature

Themes

Exhaustive Versus Demand Analysis

Exhaustive Versus Demand Analysis

PPT Slide

Experimental Results [Horwitz , Reps, & Sagiv 1995]

A Related Result [Sagiv, Reps, & Horwitz 1996]

Exhaustive Versus Demand Analysis

Most Significant Contributions: 1987-2000

References

References

Author: Thomas Reps