際際滷

際際滷Share a Scribd company logo
Program dependence graph
 PDG can be expressed as G (N, E), N={n  N | n means
that one of the statement in the program}, E={( m, n)|m, n  N
Whether statement m implementation depends on the true and
false statement n, or exist variable V which is defined by m and
referenced by n }.
Program dependence graph
In the PDG there exist two kinds of dependence:
 One is control dependence, it describes in a program the
conditional statements and circular statements with the
statements embedded in them, their control relationships.
 The other kind is data dependence, it describes in the
assignment statements the left value to the right value
dependence relationship.
Program dependence graph
Example for program and its PDG:
void sum{
int i, sum;
sum=0;
i=1;
while(i<11){
sum=sum+i;
i=i+1;
}}
Program dependence graph
Result 鐚
void sum{
int i;
i=1;
while(i<11){
i=i+1;
}}
We just need to left the nodes which
on the left side of assignment
statement contains variable i.
 Each PDG has nodes for
 entry point
 procedure parameters and function result
 Each call site has nodes for
 call
 arguments and function result
 Appropriate edges
 entry node to parameters
 call node to arguments
 call node to entry node
 arguments to parameters
How is an SDG Created?
SDG for the Sum Program
Enter main
sum = 0 i = 1 while(i < 11) printf(sum) printf(i)
Call add Call add
xin = sum yin = i sum = xout xin = i yin= 1 i = xout
Enter add
x = xin y = yin x = x + y xout = x
System dependence graph
 PDG is usually used to describe a single application of
the process, but in the actual software development,
there are few program contains only one single process,
the program is usually composed of multiple processes.
 We need a new structure to reflect multiple processes
program, so SDG could describe it.
System dependence graph
 We should not only consider the interdependencies of
statements within process, but also to consider the
invocation of the relationship between process and
process, process parameters between transitive relation,
etc.
 SDG is extended by PDG, it can be expressed as PDG
and a series of process get together as a set.
System dependence graph
Through the following steps to construct a system
dependence graph, first of all, on the basis of PDG
increased some new nodes:
(1) For each of the called process set an Entry node
(2) For each argument set an Actual - in node finally set an
Actual - out node together, their relationship with the call
statement is control dependence.
(3) For each parameter set a Formal - in node, if the
parameter value is changed in the procedure call, then
again for this row and add a Formal - out node.
The dependence relationship
between new nodes and original
nodes
Called
statement
node
Actual-in
node
Actual-out
node
Process
Entry
node
Formal-out
node
Process Entry
node
Call
relationship
N/A N/A N/A N/A
Actual-in node Control
dependenc
e
N/A N/A N/A N/A
Actual-out node Control
dependenc
e
Summary
relationship
Summary
relationship
N/A
Formal-in node N/A Parameter-
in(data
dependenc
Parameter-
in(data
dependenc
Control
dependenc
e
Parameter-
in(data
dependence)
System dependence graph
Example:
Umesh
System dependence graph
Result:
END
Ad

Recommended

Scope of variables
Scope of variables
baabtra.com - No. 1 supplier of quality freshers
Scope of variable
Scope of variable
baabtra.com - No. 1 supplier of quality freshers
Scope of variables
Scope of variables
baabtra.com - No. 1 supplier of quality freshers
Software code metrics
Software code metrics
PVS-Studio
Singleton Design Pattern in C#
Singleton Design Pattern in C#
Kasun Ranga Wijeweera
Decorator Design Pattern in C#
Decorator Design Pattern in C#
Kasun Ranga Wijeweera
SPL 9 | Scope of Variables in C
SPL 9 | Scope of Variables in C
Mohammad Imam Hossain
System approach in civil engg slideshare.vvs
System approach in civil engg slideshare.vvs
vrushali sasane
Automated Debugging: Are We There Yet?
Automated Debugging: Are We There Yet?
Alex Orso
The HercuLeS HLS Environment
The HercuLeS HLS Environment
kaveirious
Model Slicing
Model Slicing
ClarkTony
Slicing of Object-Oriented Programs
Slicing of Object-Oriented Programs
Praveen Penumathsa
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them All
Thomas Wuerthinger
Programing Slicing and Its applications
Programing Slicing and Its applications
Ankur Jain
Interm codegen
Interm codegen
Anshul Sharma
Umesh
Umesh
shindeumesh
Rseminarp
Rseminarp
Praveen Penumathsa
Slicing of Object-Oriented Programs
Slicing of Object-Oriented Programs
Praveen Penumathsa
Kinetic Dependence Graphs
Kinetic Dependence Graphs
Donald Nguyen
5_6201908319880217463.pptx
5_6201908319880217463.pptx
SuhanB
Integrative Parallel Programming in HPC
Integrative Parallel Programming in HPC
Victor Eijkhout
Intermediate code generation
Intermediate code generation
Akshaya Arunan
ERTS UNIT 3.ppt
ERTS UNIT 3.ppt
Pavithra525349
Computational models in embedded design
Computational models in embedded design
harshithashekar
Program and Network Properties
Program and Network Properties
Beekrum Duwal
parallel programming.ppt
parallel programming.ppt
nazimsattar
advanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelism
Pankaj Kumar Jain
Dfg &amp; sg ppt (1)
Dfg &amp; sg ppt (1)
shrutishreya14
ScaleGraph - A High-Performance Library for Billion-Scale Graph Analytics
ScaleGraph - A High-Performance Library for Billion-Scale Graph Analytics
Toyotaro Suzumura
Compiler unit 5
Compiler unit 5
BBDITM LUCKNOW

More Related Content

Viewers also liked (8)

Automated Debugging: Are We There Yet?
Automated Debugging: Are We There Yet?
Alex Orso
The HercuLeS HLS Environment
The HercuLeS HLS Environment
kaveirious
Model Slicing
Model Slicing
ClarkTony
Slicing of Object-Oriented Programs
Slicing of Object-Oriented Programs
Praveen Penumathsa
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them All
Thomas Wuerthinger
Programing Slicing and Its applications
Programing Slicing and Its applications
Ankur Jain
Interm codegen
Interm codegen
Anshul Sharma
Umesh
Umesh
shindeumesh
Automated Debugging: Are We There Yet?
Automated Debugging: Are We There Yet?
Alex Orso
The HercuLeS HLS Environment
The HercuLeS HLS Environment
kaveirious
Model Slicing
Model Slicing
ClarkTony
Slicing of Object-Oriented Programs
Slicing of Object-Oriented Programs
Praveen Penumathsa
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them All
Thomas Wuerthinger
Programing Slicing and Its applications
Programing Slicing and Its applications
Ankur Jain

Similar to Umesh (20)

Rseminarp
Rseminarp
Praveen Penumathsa
Slicing of Object-Oriented Programs
Slicing of Object-Oriented Programs
Praveen Penumathsa
Kinetic Dependence Graphs
Kinetic Dependence Graphs
Donald Nguyen
5_6201908319880217463.pptx
5_6201908319880217463.pptx
SuhanB
Integrative Parallel Programming in HPC
Integrative Parallel Programming in HPC
Victor Eijkhout
Intermediate code generation
Intermediate code generation
Akshaya Arunan
ERTS UNIT 3.ppt
ERTS UNIT 3.ppt
Pavithra525349
Computational models in embedded design
Computational models in embedded design
harshithashekar
Program and Network Properties
Program and Network Properties
Beekrum Duwal
parallel programming.ppt
parallel programming.ppt
nazimsattar
advanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelism
Pankaj Kumar Jain
Dfg &amp; sg ppt (1)
Dfg &amp; sg ppt (1)
shrutishreya14
ScaleGraph - A High-Performance Library for Billion-Scale Graph Analytics
ScaleGraph - A High-Performance Library for Billion-Scale Graph Analytics
Toyotaro Suzumura
Compiler unit 5
Compiler unit 5
BBDITM LUCKNOW
Es_module2ppt.pptx
Es_module2ppt.pptx
RohanAM1
Control Construct Estimation For Partitioned Binaries In Codesign System
Control Construct Estimation For Partitioned Binaries In Codesign System
IJARIDEA Journal
Profiling Java Programs for Parallelism
Profiling Java Programs for Parallelism
Dmitry Anisimov
Parallel programming model
Parallel programming model
Illuru Phani Kumar
Chapter Eight(1)
Chapter Eight(1)
bolovv
456589.-Compiler-Design-Code-Generation (1).ppt
456589.-Compiler-Design-Code-Generation (1).ppt
boyingbo
Slicing of Object-Oriented Programs
Slicing of Object-Oriented Programs
Praveen Penumathsa
Kinetic Dependence Graphs
Kinetic Dependence Graphs
Donald Nguyen
5_6201908319880217463.pptx
5_6201908319880217463.pptx
SuhanB
Integrative Parallel Programming in HPC
Integrative Parallel Programming in HPC
Victor Eijkhout
Intermediate code generation
Intermediate code generation
Akshaya Arunan
Computational models in embedded design
Computational models in embedded design
harshithashekar
Program and Network Properties
Program and Network Properties
Beekrum Duwal
parallel programming.ppt
parallel programming.ppt
nazimsattar
advanced computer architesture-conditions of parallelism
advanced computer architesture-conditions of parallelism
Pankaj Kumar Jain
Dfg &amp; sg ppt (1)
Dfg &amp; sg ppt (1)
shrutishreya14
ScaleGraph - A High-Performance Library for Billion-Scale Graph Analytics
ScaleGraph - A High-Performance Library for Billion-Scale Graph Analytics
Toyotaro Suzumura
Es_module2ppt.pptx
Es_module2ppt.pptx
RohanAM1
Control Construct Estimation For Partitioned Binaries In Codesign System
Control Construct Estimation For Partitioned Binaries In Codesign System
IJARIDEA Journal
Profiling Java Programs for Parallelism
Profiling Java Programs for Parallelism
Dmitry Anisimov
Chapter Eight(1)
Chapter Eight(1)
bolovv
456589.-Compiler-Design-Code-Generation (1).ppt
456589.-Compiler-Design-Code-Generation (1).ppt
boyingbo
Ad

Recently uploaded (20)

Joint Family And Nuclear Family to .. pdf.
Joint Family And Nuclear Family to .. pdf.
shrujapanchal813
Personal letter personal letter personal letter.pptx
Personal letter personal letter personal letter.pptx
GedeJuliana2
Jadual Waktu dan Jadual Bertugas kelas.pptx
Jadual Waktu dan Jadual Bertugas kelas.pptx
roslan17
AI Intelligence: Exploring the Future of Artificial Intelligence
AI Intelligence: Exploring the Future of Artificial Intelligence
sayalikerimova20
Bob Stewart Acts 17 Study 06 11 2025.pptx
Bob Stewart Acts 17 Study 06 11 2025.pptx
FamilyWorshipCenterD
Japan's Media and Telecom Markets: Evolution, Global Competition, and NTT Law...
Japan's Media and Telecom Markets: Evolution, Global Competition, and NTT Law...
Toshiya Jitsuzumi
Google Algorithm Updates A Complete Guide for Digital Marketing Students.pdf
Google Algorithm Updates A Complete Guide for Digital Marketing Students.pdf
Nithinks37
Retail Store Scavenger Hunt experience!!
Retail Store Scavenger Hunt experience!!
Samally D叩vila
case ObGy - Post term pregnacy.pptx case presentation
case ObGy - Post term pregnacy.pptx case presentation
fortuneassey
Timothy J. Los, JD, LL.M. (Tax) Global Investor, Family Office & Profession...
Timothy J. Los, JD, LL.M. (Tax) Global Investor, Family Office & Profession...
Timothy Los
presentacion de Inspire Power Point.pptx
presentacion de Inspire Power Point.pptx
teamspro
Briefing on the upcoming UNFSS +4 Stocktake
Briefing on the upcoming UNFSS +4 Stocktake
Francois Stepman
AI Unleashed: Transforming Ideas into Intelligent Solutions.pptx
AI Unleashed: Transforming Ideas into Intelligent Solutions.pptx
Arana Technologies
ENGLISh.pptxENGLISh.pptxENGLISh.pptxENGLISh.pptx
ENGLISh.pptxENGLISh.pptxENGLISh.pptxENGLISh.pptx
MervieJadeBabao
The Caribbean Challenge: Fostering Growth and Resilience Amidst Global Uncert...
The Caribbean Challenge: Fostering Growth and Resilience Amidst Global Uncert...
Caribbean Development Bank
ENGLISh.pptxtausug.pptxtausug.pptxtausug.pptx
ENGLISh.pptxtausug.pptxtausug.pptxtausug.pptx
MervieJadeBabao
The Power of religious Symbols: A scientific and spiritual analysis
The Power of religious Symbols: A scientific and spiritual analysis
Dr. Anshula Garg
What say you - ethical issues in research
What say you - ethical issues in research
ssuser8aff01
Food Truck Business Plan | Sakthi Sundar.pptx
Food Truck Business Plan | Sakthi Sundar.pptx
Sakthi Sundar
puskhar camel yauvh on the hot wheels for
puskhar camel yauvh on the hot wheels for
nandanitiwari82528
Joint Family And Nuclear Family to .. pdf.
Joint Family And Nuclear Family to .. pdf.
shrujapanchal813
Personal letter personal letter personal letter.pptx
Personal letter personal letter personal letter.pptx
GedeJuliana2
Jadual Waktu dan Jadual Bertugas kelas.pptx
Jadual Waktu dan Jadual Bertugas kelas.pptx
roslan17
AI Intelligence: Exploring the Future of Artificial Intelligence
AI Intelligence: Exploring the Future of Artificial Intelligence
sayalikerimova20
Bob Stewart Acts 17 Study 06 11 2025.pptx
Bob Stewart Acts 17 Study 06 11 2025.pptx
FamilyWorshipCenterD
Japan's Media and Telecom Markets: Evolution, Global Competition, and NTT Law...
Japan's Media and Telecom Markets: Evolution, Global Competition, and NTT Law...
Toshiya Jitsuzumi
Google Algorithm Updates A Complete Guide for Digital Marketing Students.pdf
Google Algorithm Updates A Complete Guide for Digital Marketing Students.pdf
Nithinks37
Retail Store Scavenger Hunt experience!!
Retail Store Scavenger Hunt experience!!
Samally D叩vila
case ObGy - Post term pregnacy.pptx case presentation
case ObGy - Post term pregnacy.pptx case presentation
fortuneassey
Timothy J. Los, JD, LL.M. (Tax) Global Investor, Family Office & Profession...
Timothy J. Los, JD, LL.M. (Tax) Global Investor, Family Office & Profession...
Timothy Los
presentacion de Inspire Power Point.pptx
presentacion de Inspire Power Point.pptx
teamspro
Briefing on the upcoming UNFSS +4 Stocktake
Briefing on the upcoming UNFSS +4 Stocktake
Francois Stepman
AI Unleashed: Transforming Ideas into Intelligent Solutions.pptx
AI Unleashed: Transforming Ideas into Intelligent Solutions.pptx
Arana Technologies
ENGLISh.pptxENGLISh.pptxENGLISh.pptxENGLISh.pptx
ENGLISh.pptxENGLISh.pptxENGLISh.pptxENGLISh.pptx
MervieJadeBabao
The Caribbean Challenge: Fostering Growth and Resilience Amidst Global Uncert...
The Caribbean Challenge: Fostering Growth and Resilience Amidst Global Uncert...
Caribbean Development Bank
ENGLISh.pptxtausug.pptxtausug.pptxtausug.pptx
ENGLISh.pptxtausug.pptxtausug.pptxtausug.pptx
MervieJadeBabao
The Power of religious Symbols: A scientific and spiritual analysis
The Power of religious Symbols: A scientific and spiritual analysis
Dr. Anshula Garg
What say you - ethical issues in research
What say you - ethical issues in research
ssuser8aff01
Food Truck Business Plan | Sakthi Sundar.pptx
Food Truck Business Plan | Sakthi Sundar.pptx
Sakthi Sundar
puskhar camel yauvh on the hot wheels for
puskhar camel yauvh on the hot wheels for
nandanitiwari82528
Ad

Umesh

  • 1. Program dependence graph PDG can be expressed as G (N, E), N={n N | n means that one of the statement in the program}, E={( m, n)|m, n N Whether statement m implementation depends on the true and false statement n, or exist variable V which is defined by m and referenced by n }.
  • 2. Program dependence graph In the PDG there exist two kinds of dependence: One is control dependence, it describes in a program the conditional statements and circular statements with the statements embedded in them, their control relationships. The other kind is data dependence, it describes in the assignment statements the left value to the right value dependence relationship.
  • 3. Program dependence graph Example for program and its PDG: void sum{ int i, sum; sum=0; i=1; while(i<11){ sum=sum+i; i=i+1; }}
  • 4. Program dependence graph Result 鐚 void sum{ int i; i=1; while(i<11){ i=i+1; }} We just need to left the nodes which on the left side of assignment statement contains variable i.
  • 5. Each PDG has nodes for entry point procedure parameters and function result Each call site has nodes for call arguments and function result Appropriate edges entry node to parameters call node to arguments call node to entry node arguments to parameters How is an SDG Created?
  • 6. SDG for the Sum Program Enter main sum = 0 i = 1 while(i < 11) printf(sum) printf(i) Call add Call add xin = sum yin = i sum = xout xin = i yin= 1 i = xout Enter add x = xin y = yin x = x + y xout = x
  • 7. System dependence graph PDG is usually used to describe a single application of the process, but in the actual software development, there are few program contains only one single process, the program is usually composed of multiple processes. We need a new structure to reflect multiple processes program, so SDG could describe it.
  • 8. System dependence graph We should not only consider the interdependencies of statements within process, but also to consider the invocation of the relationship between process and process, process parameters between transitive relation, etc. SDG is extended by PDG, it can be expressed as PDG and a series of process get together as a set.
  • 9. System dependence graph Through the following steps to construct a system dependence graph, first of all, on the basis of PDG increased some new nodes: (1) For each of the called process set an Entry node (2) For each argument set an Actual - in node finally set an Actual - out node together, their relationship with the call statement is control dependence. (3) For each parameter set a Formal - in node, if the parameter value is changed in the procedure call, then again for this row and add a Formal - out node.
  • 10. The dependence relationship between new nodes and original nodes Called statement node Actual-in node Actual-out node Process Entry node Formal-out node Process Entry node Call relationship N/A N/A N/A N/A Actual-in node Control dependenc e N/A N/A N/A N/A Actual-out node Control dependenc e Summary relationship Summary relationship N/A Formal-in node N/A Parameter- in(data dependenc Parameter- in(data dependenc Control dependenc e Parameter- in(data dependence)
  • 14. END