Selecting Software Test Data Using Data Flow Information
IEEE Transactions on Software Engineering
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Interprocedural dependence analysis and parallelization
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
An incremental algorithm for software analysis
SDE 2 Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Elimination algorithms for data flow analysis
ACM Computing Surveys (CSUR)
Automatic translation of FORTRAN programs to vector form
ACM Transactions on Programming Languages and Systems (TOPLAS)
An efficient general iterative algorithm for dataflow analysis
Acta Informatica
Incremental data-flow analysis algorithms
ACM Transactions on Programming Languages and Systems (TOPLAS)
Conditions for incremental iteration: examples and counterexamples
Science of Computer Programming
Program derivation by fixed point computation
Science of Computer Programming
Incremental data flow analysis via dominator and attribute update
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Fast interprocedual alias analysis
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An Incremental Version of Iterative Data Flow Analysis
IEEE Transactions on Software Engineering
Properties of data flow frameworks: a unified model
Acta Informatica
Analyzing aliases of reference formal parameters
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
INCOMINANT—an INCRemental Optimizer for Machine Independent Transformation
Proceedings of the second conference on Software development tools, techniques, and alternatives
A Unified Approach to Path Problems
Journal of the ACM (JACM)
Fast Algorithms for Solving Path Problems
Journal of the ACM (JACM)
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
Efficient computation of flow insensitive interprocedural summary information
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
A precise inter-procedural data flow algorithm
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Optimal-time incremental semantic analysis for syntax-directed editors
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Interprocedural data flow analysis in a programming environment
Interprocedural data flow analysis in a programming environment
Incremental analysis of programs
Incremental analysis of programs
Profiling an Incremental Data Flow Analysis Algorithm
IEEE Transactions on Software Engineering
A Critical Analysis of Incremental Iterative Data Flow Analysis Algorithms
IEEE Transactions on Software Engineering
A theory of incremental computation and its application
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pointer-induced aliasing: a problem classification
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Performing data flow analysis in parallel
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
Building incremental programs using partial evaluation
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Incremental global reoptimization of programs
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
A comprehensive approach to parallel data flow analysis
ICS '92 Proceedings of the 6th international conference on Supercomputing
A categorized bibliography on incremental computation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Direct update of data flow representations for a meaning-preserving program restructuring tool
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
The program structure tree: computing control regions in linear time
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
An efficient approach to computing fixpoints for complex program analysis
ICS '94 Proceedings of the 8th international conference on Supercomputing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Architectural Tradeoffs for a Meaning-Preserving Program Restructuring Tool
IEEE Transactions on Software Engineering - Special issue on software architecture
A new framework for exhaustive and incremental data flow analysis using DJ graphs
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Separate Computation of Alias Information for Reuse
IEEE Transactions on Software Engineering - Special issue: best papers of the 1996 international symposium on software testing and analysis ISSTA'96
Program decomposition for pointer aliasing: a step toward practical analyses
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Incremental analysis of side effects for C software system
ICSE '97 Proceedings of the 19th international conference on Software engineering
A practical framework for demand-driven interprocedural data flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new framework for elimination-based data flow analysis using DJ graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
What you see is what you test: a methodology for testing form-based visual programs
Proceedings of the 20th international conference on Software engineering
An incremental flow- and context-sensitive pointer aliasing analysis
Proceedings of the 21st international conference on Software engineering
Data-flow analysis of program fragments
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Incremental analysis of constraint logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A methodology for testing spreadsheets
ACM Transactions on Software Engineering and Methodology (TOSEM)
Change impact analysis for object-oriented programs
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A schema for interprocedural modification side-effect analysis with pointer aliasing
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Combining DAG: A Technique for Parallel Data Flow Analysis
IEEE Transactions on Parallel and Distributed Systems
CSSV: towards a realistic tool for statically detecting all buffer overflows in C
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Incremental and demand-driven points-to analysis using logic programming
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Staging static analyses for program generation
Proceedings of the 5th international conference on Generative programming and component engineering
Generalized structured programs and loop trees
Science of Computer Programming
Combined Static and Dynamic Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
EigenCFA: accelerating flow analysis with GPUs
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Analyzing the impact of change in multi-threaded programs
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
Incremental algorithms for inter-procedural analysis of safety properties
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Automatic incrementalization of prolog based static analyses
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Interprocedural dataflow analysis in the presence of large libraries
CC'06 Proceedings of the 15th international conference on Compiler Construction
A methodology for procedure cloning
Computer Languages
An incremental points-to analysis with CFL-Reachability
CC'13 Proceedings of the 22nd international conference on Compiler Construction
Hi-index | 0.00 |
Our exhaustive and incremental hybrid data flow analysis algorithms, based on iteration and elimination techniques, are designed for incremental update of a wide variety of monotone data flow problems in response to source program changes. Unlike previous incremental iterative methods, this incremental algorithm efficiently computes precise and correct solutions. We give theoretical results on the imprecision of restarting iteration for incremental update by fixed point iteration which provided motivation for our algorithm design. Described intuitively, the main algorithm idea is to factor the data flow solution on strong connected components of the flow graph into local and external parts, solving for the local parts by iteration and propagating these effects on the condensation of the flow graph to obtain the entire data flow solution. The incremental hybrid algorithm re-performs those algorithm steps affected by the program changes.