The program dependence graph and its use in optimization
From MaRDI portal
Publication:3761672
DOI10.1145/24039.24041zbMath0623.68012OpenAlexW2144344516MaRDI 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/
transformationsparallelismvectorizationdebuggingslicingloop unrollingcontrol flowdata flowloop fusionintermediate program representationprogram dependence graphnode splittingoptimizationscode motionData dependencesbranch deletionControl dependences
Specification and verification (program logics, model checking, etc.) (68Q60) Theory of operating systems (68N25)
Related Items
A program slicing-based method for effective detection of coincidentally correct test cases ⋮ Verifying Array Manipulating Programs with Full-Program Induction ⋮ The uniform memory hierarchy model of computation ⋮ Fast computation of strong control dependencies ⋮ Specifications can make programs run faster ⋮ Scaling down discrete-event simulation models ⋮ Tracking CSP computations ⋮ A formal semantics of the GraalVM intermediate representation ⋮ Efficient static checker for tainted variable attacks ⋮ PPTran: SOURCE TO SOURCE TRANSLATOR FOR HIGH PERFORMANCE FORTRAN ⋮ An alternative characterization of weak order dependence ⋮ Unnamed Item ⋮ On the adequacy of dependence-based representations for programs with heaps ⋮ Distributing and parallelizing non-canonical loops ⋮ Static slicing of explicitly synchronized languages ⋮ Fast and incremental computation of weak control closure ⋮ Efficient computation of arbitrary control dependencies ⋮ Output-sensitive information flow analysis ⋮ Properties of data flow frameworks: A unified model ⋮ Black-box testing based on colorful taint analysis ⋮ A unifying theory of control dependence and its application to arbitrary program structures ⋮ Simple and efficient computation of minimal weak control closure ⋮ The dependence condition graph: precise conditions for dependence between program points ⋮ A trajectory-based strict semantics for program slicing ⋮ A tabu search algorithm for structural software testing ⋮ An optimal algorithm for the construction of the system dependence graph ⋮ Dynamic slicing of lazy functional programs based on redex trails ⋮ Actor-based slicing techniques for efficient reduction of Rebeca models ⋮ Slicing for architectural analysis ⋮ Theoretical foundations of dynamic program slicing ⋮ A profile-based tool for finding pipeline parallelism in sequential programs ⋮ On the relationship between model-based debugging and program slicing ⋮ A non-standard semantics for program slicing and dependence analysis ⋮ The MEB and CEB Static Analysis for CSP Specifications ⋮ Slicing communicating automata specifications: Polynomial algorithms for model reduction ⋮ Traces of Control-Flow Graphs ⋮ Slicing programs in the presence of errors ⋮ Efficient comparison of program slices ⋮ System dependence graph construction for aspect oriented C++ ⋮ DyC: An expressive annotation-directed dynamic compiler for C ⋮ Program slicing of Java programs ⋮ Exception-sensitive program slicing ⋮ A sparse evaluation technique for detailed semantic analyses ⋮ A compact execution history for dynamic slicing ⋮ Static Slicing of Rewrite Systems ⋮ Next-preserving branching bisimulation ⋮ Slicing unconditional jumps with unnecessary control dependencies