Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Analysis of event synchronization in a parallel programming tool
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
Automatic construction of sparse data flow evaluation graphs
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Properties of data flow frameworks: a unified model
Acta Informatica
Constant propagation with conditional branches
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concurrency analysis in the presence of procedures using a data-flow framework
TAV4 Proceedings of the symposium on Testing, analysis, and verification
Interprocedural static analysis of sequencing constraints
ACM Transactions on Software Engineering and Methodology (TOSEM)
The design and implementation of hierarchical software systems with reusable components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Sharlit—a tool for building optimizers
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Data flow analysis for verifying properties of concurrent programs
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
A compact Petri net representation for concurrent programs
Proceedings of the 17th international conference on Software engineering
Data Flow Analysis in Software Reliability
ACM Computing Surveys (CSUR)
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
The GenVoca Model of Software-System Generators
IEEE Software
Tractable Flow Analysis for Anomaly Detection in Distributed Programs
ESEC '93 Proceedings of the 4th European Software Engineering Conference on Software Engineering
FIAT: A Framework for Interprocedural Analysis and Transfomation
Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing
Efficient Computation of Precedence Information in Parallel Programs
Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing
Data flow analysis for verifying correctness properties of concurrent programs
Data flow analysis for verifying correctness properties of concurrent programs
An application-independent concurrency skeleton in Ada 95
Proceedings of the conference on TRI-Ada '96: disciplined software development with Ada
An approach for exploring code improving transformations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Composing dataflow analyses and transformations
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Traveling Through Dakota: Experiences with an Object-Oriented Program Analysis System
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Understanding process and the quest for deeper questions in software engineering research
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
HOIST: a system for automatically deriving static analyzers for embedded systems
ASPLOS XI Proceedings of the 11th international conference on Architectural support for programming languages and operating systems
Joining dataflow with predicates
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Pluggable abstract domains for analyzing embedded software
Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
May/must analysis and the DFAGen data-flow analysis generator
Information and Software Technology
Reusable, generic program analyses and transformations
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
CAV'07 Proceedings of the 19th international conference on Computer aided verification
A framework for the checking and refactoring of crosscutting concepts
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
Data flow analysis is a versatile technique that can be used to address a variety of analysis problems. Typically, data flow analyzers are hand-crafted to solve a particular analysis problem. The cost of constructing analyzers can be high and is a barrier to evaluating alternative analyzer designs. We describe an architecture that facilitates the rapid prototyping of data flow analyzers. With this architecture, a developer chooses from a collection of pre-existing components or, using high-level component generators, constructs new components and combines them to produce a data flow analyzer. In addition to support for traditional data flow analysis problems, this architecture supports the development of analyzers for a class of combined data flow problems that offer increased precision. This architecture allows developers to investigate quickly and easily a wide variety of analyzer design alternatives and to understand the practical design tradeoffs better. We describe our experience using this architecture to construct a variety of different data flow analyzers.