1987
DOI: 10.1145/24039.24041
|View full text |Cite
|
Sign up to set email alerts
|

The program dependence graph and its use in optimization

Abstract: In this paper we present an intermediate program representation, called the program dependence graph (PDG), that makes explicit both the data and control dependence5 for each operation in a program. Data dependences have been used to represent only the relevant data flow relationships of a program. Control dependence5 are introduced to analogously represent only the essential control flow relationships of a program. Control dependences are derived from the usual control flow graph. Many traditional optimizatio… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
360
0
5

Year Published

1996
1996
2018
2018

Publication Types

Select...
9

Relationship

0
9

Authors

Journals

citations
Cited by 2,053 publications
(365 citation statements)
references
References 25 publications
(23 reference statements)
0
360
0
5
Order By: Relevance
“…The starting key element for this step is the standard PDG that we generate from the Java program bytecode using the JOANA tool [14]. In this PDG, control and (explicit/implicit) data dependencies are captured, which constitutes a strong basis to perform a precise analysis.…”
Section: Program Model Constructionmentioning
confidence: 99%
See 1 more Smart Citation
“…The starting key element for this step is the standard PDG that we generate from the Java program bytecode using the JOANA tool [14]. In this PDG, control and (explicit/implicit) data dependencies are captured, which constitutes a strong basis to perform a precise analysis.…”
Section: Program Model Constructionmentioning
confidence: 99%
“…• Augmented Program Dependence Graph: this component first builds the program dependence graph (PDG) from the Java bytecode (.class) using the JOANA IFC tool [14]. We have chosen the Program Dependence Graph (PDG) as the abstraction model for its ability to represent both control and (explicit/implicit) data dependencies.…”
Section: Program Model Constructionmentioning
confidence: 99%
“…Необходимо отме-тить, что на сегодняшний день методологический аппарат, который является неформальным и во многом зависит от людей, которые его используют, спо-собствует раннему обнаружению ошибок в программном продукте и его стабилизации, но не о гарантии отсутствия ошибок в нем. Формальные ме-тоды разделились на несколько групп: 1) инструменты, построенные на принципах абстрактной интерпретации [7] и статического анализа [5,[8][9][10]; 2) инструменты, основанные на проверке моделей [3,4]; 3) инструменты, в основе которых лежит принцип доказательства теорем [11]. Среди всех вы-шеперечисленных на практике используются только статический анализ, который позволяет выявить заранее известные паттерны ошибок в коде, но при этом не гарантирует их полное выявление и появление ложных сраба-тываний.…”
Section: введение и обзор литературыunclassified
“…Although the identified approaches are very different, these approaches share two main underlying characteristics. First, the identification and description of dependencies is bases on the Program Dependency Graph (PDG) (Ferrante et al 1987;Podgurski and Clarke 1990). PDG is a classic dependency model to identify data and control dependencies between program statement elements (variables, operators, and operands).…”
Section: Source Code-based Solutionsmentioning
confidence: 99%