Complete the program dependence graphs for the program shown above and

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

a) Complete the program dependence graphs for the program shown above and


1. Add edges for data dependences in all graphs.


2. Combine the individual SDGs. In particular, you need to add call edges from the call sites to
the invoked method entry node, parameter-in edges from the actual parameters to the formal
parameter nodes, and parameter-out edges from the return value ($ret) to the node where the
result is used or from the fields of objects that constitute a side-effect.


3. Add Summary Edges that summarize the effect of parameters on the result. Any summary edge
symbolizes a parameter that has a directed path from its parameter edge to the return value of
the respective function invocation.


b) Determine the 2-phase (context-sensitive) slice of the second call to println(o.get()). Which nodes
are marked in the first phase, which in the second?

1 class A {
2
int x;
3
void set() { x = 0;}
void set (int i) {x:
=
int get() {return x; }
4
5
6
7 class B extends A {
}
8 void set (){ x = 1;}
9 }
i;}
10 class Main {
11
12
13
14
15
16
17
18
19
20 }
static void main(String[] args) {
int pub 1; int sec = 0;
A o = new A();
o.set(pub);
=
System.out.println (o.get());
if (sec==0 && args[0].equals("042"))
o = new B();
o.set();
System.out.println (o.get());
Transcribed Image Text:1 class A { 2 int x; 3 void set() { x = 0;} void set (int i) {x: = int get() {return x; } 4 5 6 7 class B extends A { } 8 void set (){ x = 1;} 9 } i;} 10 class Main { 11 12 13 14 15 16 17 18 19 20 } static void main(String[] args) { int pub 1; int sec = 0; A o = new A(); o.set(pub); = System.out.println (o.get()); if (sec==0 && args[0].equals("042")) o = new B(); o.set(); System.out.println (o.get());
Expert Solution
steps

Step by step

Solved in 8 steps with 7 images

Blurred answer
Knowledge Booster
Structure chart
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education