The program dependence graph and its use in optimization
From MaRDI portal
Publication:3761672
DOI10.1145/24039.24041zbMath0623.68012MaRDI QIDQ3761672
Jeanne Ferrante, Karl J. Ottenstein, Joe Warren
Publication date: 1987
Published in: ACM Transactions on Programming Languages and Systems (Search for Journal in Brave)
Full work available at URL: http://www.acm.org/pubs/contents/journals/toplas/1987-9/
transformations; parallelism; vectorization; debugging; slicing; loop unrolling; control flow; data flow; loop fusion; intermediate program representation; program dependence graph; node splitting; optimizations; code motion; Data dependences; branch deletion; Control dependences
68Q60: Specification and verification (program logics, model checking, etc.)
68N25: Theory of operating systems
Related Items
PPTran: SOURCE TO SOURCE TRANSLATOR FOR HIGH PERFORMANCE FORTRAN, System dependence graph construction for aspect oriented C++, An optimal algorithm for the construction of the system dependence graph, On the relationship between model-based debugging and program slicing, Static slicing of explicitly synchronized languages, Black-box testing based on colorful taint analysis, A unifying theory of control dependence and its application to arbitrary program structures, Efficient comparison of program slices, Properties of data flow frameworks: A unified model, A trajectory-based strict semantics for program slicing, Actor-based slicing techniques for efficient reduction of Rebeca models, Slicing for architectural analysis, A profile-based tool for finding pipeline parallelism in sequential programs, A non-standard semantics for program slicing and dependence analysis, Slicing communicating automata specifications: Polynomial algorithms for model reduction, The uniform memory hierarchy model of computation, DyC: An expressive annotation-directed dynamic compiler for C, A program slicing-based method for effective detection of coincidentally correct test cases, Tracking CSP computations, Efficient static checker for tainted variable attacks, An alternative characterization of weak order dependence, The dependence condition graph: precise conditions for dependence between program points, Slicing programs in the presence of errors, A compact execution history for dynamic slicing, Dynamic slicing of lazy functional programs based on redex trails, A sparse evaluation technique for detailed semantic analyses, Next-preserving branching bisimulation, Scaling down discrete-event simulation models, A tabu search algorithm for structural software testing, Theoretical foundations of dynamic program slicing, Static Slicing of Rewrite Systems, The MEB and CEB Static Analysis for CSP Specifications, Traces of Control-Flow Graphs