2. Description Introduction How Analysis can help Understanding Understanding Program Understanding Agenda Agenda Evaluation Examples ConsiderLimitationsofCurrentTools Look at some well-known Analyses
94. Call graph construction The relationdescribingexactlythosecallsmade from oneentity to another in anypossibleexecutionofthe program. The ideal call graph
95. Call graph construction Make the program seem less fragmented by showingthecontrolflow links between program parts. Benefit
96. Call graph construction The graphbecomes too large and complex to be comprehensible. Limitation
97. Call graph construction ”The sightofgcc'scallgraph frightened my students so muchthattheyrequested a differentproject” - ArunLakhotia Limitation
102. Program slicing C = < x, V > x : a statement in program P V : a subsetof variables in P Slicing criterion
103. Criterion: <12, z> 1begin 2read(x,y) 3total := 0.0 4sum := 0.0 5if x <= 1 6 then sum := y 7 else begin 8read(z) 9 total := x*y 10 end 11write(total, sum) 12 end. 1 begin 2read(x,y) 5 if x <= 1 6 then 7 else 8read(z) 12 end.
104. Criterion: <12, x> 1begin 2read(x,y) 3total := 0.0 4sum := 0.0 5if x <= 1 6 then sum := y 7 else begin 8read(z) 9 total := x*y 10 end 11write(total, sum) 12 end. 1 begin 2read(x,y) 12 end.
187. Description Introduction How Analysis can help Understanding Understanding Program Understanding Agenda Summary Evaluation Examples ConsiderLimitationsofCurrentTools Look at some well-known Analyses