Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Precise interprocedural dataflow analysis via graph reachability
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A technique of state space search based on unfolding
Formal Methods in System Design - Special issue on computer-aided verification (based on CAV'92 workshop)
Improving the accuracy of Petri net-based analysis of concurrent programs
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
Parallelism for free: efficient and optimal bitvector analyses for parallel programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Compact Petri Net Representation and Its Implications for Analysis
IEEE Transactions on Software Engineering
Advanced compiler design and implementation
Advanced compiler design and implementation
A conservative data flow algorithm for detecting all pairs of statements that may happen in parallel
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Basic compiler algorithms for parallel programs
Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
Pointer and escape analysis for multithreaded programs
PPoPP '01 Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
An Improvement of McMillan's Unfolding Algorithm
Formal Methods in System Design
Concurrent Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs
LCPC '97 Proceedings of the 10th International Workshop on Languages and Compilers for Parallel Computing
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Weighted pushdown systems and their application to interprocedural dataflow analysis
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Reasoning about threads communicating via locks
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Semantic Reduction of Thread Interleavings in Concurrent Programs
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Static analysis via abstract interpretation of the happens-before memory model
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
Staged concurrent program analysis
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Needed foundations for assuring the desirable behavior of software-reliant systems
Proceedings of the FSE/SDP workshop on Future of software engineering research
Interval analysis for concurrent trace programs using transaction sequence graphs
RV'10 Proceedings of the First international conference on Runtime verification
Reduction of interrupt handler executions for model checking embedded software
HVC'09 Proceedings of the 5th international Haifa verification conference on Hardware and software: verification and testing
A characterization of combined traces using labeled stratified order structures
PETRI NETS'10 Proceedings of the 31st international conference on Applications and Theory of Petri Nets
Hi-index | 0.00 |
We define a novel formulation of dataflow analysis for concurrent programs, where the flow of facts is along the causal dependencies of events. We capture the control flow of concurrent programs using a Petri net (called the control net), develop algorithms based on partially-ordered unfoldings, and report experimental results for solving causal dataflow analysis problems. For the subclass of distributive problems, we prove that complexity of checking data flow is linear in the number of facts and in the unfolding of the control net.