The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Elimination algorithms for data flow analysis
ACM Computing Surveys (CSUR)
An efficient general iterative algorithm for dataflow analysis
Acta Informatica
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Compact representations for control dependence
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
An efficient hybrid algorithm for incremental data flow analysis
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic construction of sparse data flow evaluation graphs
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Parallel and Distributed Computing - Special issue on shared-memory multiprocessors
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
How to analyze large programs efficiently and informatively
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Dependence-based program analysis
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
A Fast and Usually Linear Algorithm for Global Flow Analysis
Journal of the ACM (JACM)
A fast algorithm for finding dominators in a flowgraph
ACM Transactions on Programming Languages and Systems (TOPLAS)
A program data flow analysis procedure
Communications of the ACM
Incremental data flow analysis in a structured program editor
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Prime subprogram parsing of a program
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficiently Computing phi-Nodes On-The-Fly (Extended Abstract)
Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing
Finding Regions Fast: Single Entry Single Exit and Control Regions in Linear Time
Finding Regions Fast: Single Entry Single Exit and Control Regions in Linear Time
Parsing flowcharts and series-parallel graphs.
Parsing flowcharts and series-parallel graphs.
A linear time algorithm for placing &phgr;-nodes
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Incremental computation of dominator trees
IR '95 Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations
Optimizing sparse representations for dataflow analysis
IR '95 Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations
APT: a data structure for optimal control dependence computation
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Efficient building and placing of gating functions
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
PACT '95 Proceedings of the IFIP WG10.3 working conference on Parallel architectures and compilation techniques
Optimal control dependence computation and the Roman chariots problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new algorithm for partial redundancy elimination based on SSA form
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Partitioning dataflow analyses using types
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Continuous profiling: where have all the cycles gone?
ACM Transactions on Computer Systems (TOCS)
Continuous profiling: where have all the cycles gone?
Proceedings of the sixteenth ACM symposium on Operating systems principles
Efficient coverage testing using global dominator graphs
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Partial redundancy elimination in SSA form
ACM Transactions on Programming Languages and Systems (TOPLAS)
On sparse evaluation representations
Theoretical Computer Science
Simple Generation of Static Single-Assignment Form
CC '00 Proceedings of the 9th International Conference on Compiler Construction
Range Searching Over Tree Cross Products
ESA '00 Proceedings of the 8th Annual European Symposium on Algorithms
A faster optimal register allocator
Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture
Post Register Allocation Spill Code Optimization
Proceedings of the International Symposium on Code Generation and Optimization
Faster and More Focused Control-Flow Analysis for Business Process Models Through SESE Decomposition
ICSOC '07 Proceedings of the 5th international conference on Service-Oriented Computing
Measuring Similarity between Business Process Models
CAiSE '08 Proceedings of the 20th international conference on Advanced Information Systems Engineering
The Refined Process Structure Tree
BPM '08 Proceedings of the 6th International Conference on Business Process Management
Pattern Identification and Classification in the Translation from BPMN to BPEL
OTM '08 Proceedings of the OTM 2008 Confederated International Conferences, CoopIS, DOA, GADA, IS, and ODBASE 2008. Part I on On the Move to Meaningful Internet Systems:
Automatic Workflow Graph Refactoring and Completion
ICSOC '08 Proceedings of the 6th International Conference on Service-Oriented Computing
Decomposition of Task-Level Concurrency on C Programs Applied to the Design of Multiprocessor SoC
IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences
Empirical Studies in Process Model Verification
Transactions on Petri Nets and Other Models of Concurrency II
The refined process structure tree
Data & Knowledge Engineering
From business process models to process-oriented software systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Trace-driven workload simulation method for Multiprocessor System-On-Chips
Proceedings of the 46th Annual Design Automation Conference
A Space-Aware Bytecode Verifier for Java Cards
Electronic Notes in Theoretical Computer Science (ENTCS)
Code compaction of matching single-entry multiple-exit regions
SAS'03 Proceedings of the 10th international conference on Static analysis
Journal of Visual Languages and Computing
Caracal: dynamic translation of runtime environments for GPUs
Proceedings of the Fourth Workshop on General Purpose Processing on Graphics Processing Units
Syntax highlighting in business process models
Decision Support Systems
Simplified computation and generalization of the refined process structure tree
WS-FM'10 Proceedings of the 7th international conference on Web services and formal methods
Towards a compiler for business-IT systems: a vision statement complemented with a research agenda
CEE-SET'08 Proceedings of the Third IFIP TC 2 Central and East European conference on Software engineering techniques
Business process model abstraction: a definition, catalog, and survey
Distributed and Parallel Databases
Comparison and retrieval of process models using related cluster pairs
Computers in Industry
ACM Transactions on Embedded Computing Systems (TECS)
Causal Behavioural Profiles - Efficient Computation, Applications, and Evaluation
Fundamenta Informaticae - Applications and Theory of Petri Nets and Other Models of Concurrency, 2010
Validation of user intentions in process models
CAiSE'12 Proceedings of the 24th international conference on Advanced Information Systems Engineering
Matching business process workflows across abstraction levels
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
Taint analysis of security code in the KLEE symbolic execution engine
ICICS'12 Proceedings of the 14th international conference on Information and Communications Security
Compiler-Guided identification of critical sections in parallel code
CC'13 Proceedings of the 22nd international conference on Compiler Construction
On the dictionary compression for Java card environment
Proceedings of the 16th International Workshop on Software and Compilers for Embedded Systems
Feel different on the Java platform: the star programming language
Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools
Hi-index | 0.00 |
In this paper, we describe the program structure tree (PST), a hierarchical representation of program structure based on single entry single exit (SESE) regions of the control flow graph. We give a linear-time algorithm for finding SESE regions and for building the PST of arbitrary control flow graphs (including irreducible ones). Next, we establish a connection between SESE regions and control dependence equivalence classes, and show how to use the algorithm to find control regions in linear time. Finally, we discuss some applications of the PST. Many control flow algorithms, such as construction of Static Single Assignment form, can be speeded up by applying the algorithms in a divide-and-conquer style to each SESE region on its own. The PST is also used to speed up data flow analysis by exploiting “sparsity”. Experimental results from the Perfect Club and SPEC89 benchmarks confirm that the PST approach finds and exploits program structure.