Filters








475,582 Hits in 6.7 sec

The program dependence graph and its use in optimization

Jeanne Ferrante, Karl J. Ottenstein, Joe D. Warren
1987 ACM Transactions on Programming Languages and Systems  
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.  ...  Since dependences in the PDG connect computationally related parts of the program, a single walk of these dependences is sufficient to perform many optimizations.  ...  ACKNOWLEDGMENTS We thank Fran Allen for having posed many of the problems solved in this paper, and Michael Burke, Larry Carter, Linda Ottenstein, and the referees for their helpful comments.  ... 
doi:10.1145/24039.24041 fatcat:27s4wxgnm5dcddsd5qhisov55a

The program dependence graph and its use in optimization [chapter]

Jeanne Ferrante, Karl J. Ottenstein, Joe D. Warren
1984 Lecture Notes in Computer Science  
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.  ...  Since dependences in the PDG connect computationally related parts of the program, a single walk of these dependences is sufficient to perform many optimizations.  ...  ACKNOWLEDGMENTS We thank Fran Allen for having posed many of the problems solved in this paper, and Michael Burke, Larry Carter, Linda Ottenstein, and the referees for their helpful comments.  ... 
doi:10.1007/3-540-12925-1_33 fatcat:wqijv62zgnfzlp5v6tofddarme

Duplicated Code Slicing Technique for System Optimization

2019 International journal of recent technology and engineering  
To optimize these bigger systems, slicing technique is required to extract the duplicated codes. In this study, system dependent graph was used for slicing of duplicated codes.  ...  Slicing technique using system dependent graph can be applied to the extraction of duplicated cross cutting modules in all programming methods regardless of the environment of structure/object-oriented  ...  It is mainly used in compiler and essential for source code slicing.  ... 
doi:10.35940/ijrte.b1078.0782s619 fatcat:54u3s4mdjvd4jnugkh5rzh7w4e

Aspect Refactoring Techniques for System Optimization

Lee Seung-Hyung, Sim Sungho
2015 Indian Journal of Science and Technology  
By comparing node relation orders from program dependency graph, it is possible to satisfy crosscutting concern for refactoring.  ...  Such extraction from duplicated code can be used for crosscutting concern, and system optimization can be done through crosscutting concern within Aspect-Oriented Programming.  ...  For each procedure, it can be combined with program dependency graph to get system dependency. It is the combination of data dependency and control dependency graph. It has links from both graphs.  ... 
doi:10.17485/ijst/2015/v8is9/68324 fatcat:c6iodjkzjnc3jk5t3hl3qbuycq

Cost effective dynamic program slicing

Xiangyu Zhang, Rajiv Gupta
2004 Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation - PLDI '04  
We further show that the dependence graph can be transformed in a manner that increases sharing and sharing can be performed even in the presence of aliasing.  ...  In this paper we present the design and evaluation of a cost effective dynamic program slicing algorithm.  ...  We measured the size of the full dynamic dependence graph and compared it against the size of the optimized graph obtained after application of all the optimizations described in this paper.  ... 
doi:10.1145/996841.996855 dblp:conf/pldi/ZhangG04 fatcat:wt2wlzwhgra6pjcjqjkpnaq2ji

Cost effective dynamic program slicing

Xiangyu Zhang, Rajiv Gupta
2004 SIGPLAN notices  
We further show that the dependence graph can be transformed in a manner that increases sharing and sharing can be performed even in the presence of aliasing.  ...  In this paper we present the design and evaluation of a cost effective dynamic program slicing algorithm.  ...  We measured the size of the full dynamic dependence graph and compared it against the size of the optimized graph obtained after application of all the optimizations described in this paper.  ... 
doi:10.1145/996893.996855 fatcat:f22eu2d6efb5fbmuu3om3oxsky

A framework for selective recompilation in the presence of complex intermodule dependencies

Craig Chambers, Jeffrey Dean, David Grove
1995 Proceedings of the 17th international conference on Software engineering - ICSE '95  
Our framework augments a directed acyclic graph representation of dependencies with factoring nodes (to save space) and filtering nodes (to increase selectivity), and it includes an algorithm for efficient  ...  Compilers and other programming environment tools derive information from the source code of programs; derived information includes compiled code, interprocedural summary information, and call graph views  ...  Stephen North and Eleftherios Koutsofios of AT&T Bell Laboratories supplied us with dot, a program for automatic graph layout, which has been invaluable for visualizing dependency graphs.  ... 
doi:10.1145/225014.225035 dblp:conf/icse/ChambersDG95 fatcat:44ugdceuojdazehb2psd3auyde

Interprocedural constant propagation using dependence graphs and a data-flow model [chapter]

David Binkley
1994 Lecture Notes in Computer Science  
The algorithm developed combines a program dependence graph called the system dependence graph (SDG) with the ideas of data-flow computing and graph rewriting.  ...  The representation chosen is the program dependence graph, which captures both control-flow and data-flow information from a program.  ...  Program dependence graphs have been successfully used as an intermediate representation in parallelizing and vectorizing compilers to perform loop interchanging, strip mining, loop skewing, and other optimizations  ... 
doi:10.1007/3-540-57877-3_25 fatcat:je6y2vihnfhrxc7wpen7xjuwi4

Optimizing occupied memory of embedded software in the design phase

Phạm Văn Hưởng, Nguyễn Ngọc Bình, Phạm Ngọc Thanh
2012 Journal of Computer Science and Cybernetics  
A program is specified as a chain of tasks and the relationship between the tasks. The program is expressed by the dependence graph as a directed graph.  ...  From the dependence graph, we can find many topological orders, and each of them will have amount of occupied memory in difference.  ...  Topological sort on the dependence graph As described in the previous section, the program includes a set of tasks and it is represented by the dependence graph.  ... 
doi:10.15625/1813-9663/28/3/895 fatcat:zwk3s52winbktkc74rh4lffndy

Graph Rewriting for Hardware Dependent Program Optimizations [chapter]

Andreas Schösser, Rubino Geiß
2008 Lecture Notes in Computer Science  
We present a compiler internal program optimization that uses graph rewriting.  ...  This optimization enables the compiler to automatically use rich instructions (such as SIMD instructions) provided by modern CPUs and is transparent to the user of the compiler.  ...  Braun, Michael Beck, Moritz Kroll, and the anonymous reviewers.  ... 
doi:10.1007/978-3-540-89020-1_17 fatcat:6g3qhu6dezdfphbukbyma5itkq

Dragon: A Static and Dynamic Tool for OpenMP [chapter]

Oscar Hernandez, Chunhua Liao, Barbara Chapman
2005 Lecture Notes in Computer Science  
We developed the Dragon tool on top of Open64 to exploit its powerful analyses in order to provide static as well as dynamic (feedback-based) information which can be used to develop or optimize OpenMP  ...  A program analysis tool can play an important role in helping users understand and improve OpenMP codes.  ...  Users may locate the most frequently executed path in the control flow graph and the compiler may also use this information to enhance its optimizations such as branch prediction.  ... 
doi:10.1007/978-3-540-31832-3_6 fatcat:c546kfkylzeihlor4ipiv55cka

A New Approach for Optimization of Program Dependence Graph using Finite Automata

Shanthi Makka, B. B. Sagar
2016 Indian Journal of Science and Technology  
The Objective is to optimize the time in identification of similar code segment in a program, which is represented using PDG.  ...  This approach can be used in compiler optimization phase because it connects computationally related parts of a program; PDG is non-linear data structure in which the transformations can be performed uniformly  ...  Mostly it is used in the optimization phase of compilation.  ... 
doi:10.17485/ijst/2016/v9i38/102163 fatcat:7k7pww6ltfg25i4bfvdshm7y4m

Optimizing Java Programs in the Presence of Exceptions [chapter]

Manish Gupta, Jong-Deok Choi, Michael Hind
2000 Lecture Notes in Computer Science  
We first present an algorithm using dynamic analysis, and a variant using static analysis, to identify the subset of program state that need not be preserved if an exception is thrown.  ...  The support for precise exceptions in Java, combined with frequent checks for runtime exceptions, leads to severe limitations on the compiler's ability to perform program optimizations that involve reordering  ...  We thank Dave Streeter, Frank Tip, and Doug Lorch for their help with the Jax infrastructure and Igor Pechtchanski and Chandra Krintz for help with the code generation used for the dynamic analysis instrumentation  ... 
doi:10.1007/3-540-45102-1_21 fatcat:x4oeqnvl25fl5leov3ljxa4ffu

Determining average program execution times and their variance

V. Sarkar
1989 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation - PLDI '89  
This paper presents a general framework for determining average program execution times and their variance, based on the program's interval structure and control dependence graph.  ...  Average execution times and variance values are computed using frequency information from an optimized counter-based execution profile of the program.  ...  Finally, the candid comments of the reviewers served as valuable feedback in improving the paper and its coverage of related work.  ... 
doi:10.1145/73141.74845 dblp:conf/pldi/Sarkar89 fatcat:kqvow6ehjzb4hlukj25lswhm4q

Modelling dynamic programming problems by generalized d-graphs [article]

Zoltán Kátai
2010 arXiv   pre-print
In this paper we introduce the concept of generalized d-graph (admitting cycles) as special dependency-graphs for modelling dynamic programming (DP) problems.  ...  The new modelling method also makes possible to classify DP problems and the corresponding DP strategies in term of graph theory.  ...  Acknowledgements This research was supported by the Research Programs Institute of Sapientia Foundation, Cluj, Romania.  ... 
arXiv:1012.0058v1 fatcat:z32qlzaajzdjlivlg6dgahrlj4
« Previous Showing results 1 — 15 out of 475,582 results