Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The impact of interprocedural analysis and optimization in the Rn programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interprocedural optimization: eliminating unnecessary recompilation
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
An Applicable Family of Data Flow Testing Criteria
IEEE Transactions on Software Engineering
The program summary graph and flow-sensitive interprocedual data flow analysis
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Interprocedural side-effect analysis in linear time
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
An overview of the PTRAN analysis system for multiprocessing
Proceedings of the 1st International Conference on Supercomputing
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
An interval-based approach to exhaustive and incremental interprocedural data-flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
A tool for data flow oriented program testing
Proceedings of the second conference on Software development tools, techniques, and alternatives
Proceedings of the second conference on Software development tools, techniques, and alternatives
Global Data Flow Analysis and Iterative Algorithms
Journal of the ACM (JACM)
A practical interprocedural data flow analysis algorithm
Communications of the ACM
A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A precise inter-procedural data flow algorithm
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An efficient way to find the side effects of procedure calls and the aliases of variables
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Selecting and Using Data for Integration Testing
IEEE Software
An evaluation of required element testing strategies
ICSE '84 Proceedings of the 7th international conference on Software engineering
Performing data flow testing on classes
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Interprocedural partial redundancy elimination and its application to distributed memory compilation
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Interprocedural compilation of irregular applications for distributed memory machines
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Program decomposition for pointer aliasing: a step toward practical analyses
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Computation of interprocedural control dependence
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
All-du-path coverage for parallel programs
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
Interprocedural Partial Redundancy Elimination With Application to Distributed Memory Compilation
IEEE Transactions on Parallel and Distributed Systems
Architecture-level dependence analysis in support of software maintenance
ISAW '98 Proceedings of the third international workshop on Software architecture
A General Interprocedural Framework for Placement of Split-Phase Large Latency Operations
IEEE Transactions on Parallel and Distributed Systems
Efficient and precise modeling of exceptions for the analysis of Java programs
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Efficient points-to analysis for whole-program analysis
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
Interprocedural control dependence
ACM Transactions on Software Engineering and Methodology (TOSEM)
Complexity of Points-To Analysis of Java in the Presence of Exceptions
IEEE Transactions on Software Engineering
Contextual def-use associations for object aggregation
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)
Region Analysis: A Parallel Elimination Method for Data Flow Analysis
IEEE Transactions on Software Engineering
Modular Static Program Analysis
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Identifying parallelism in programs with cyclic graphs
Journal of Parallel and Distributed Computing
Testing Strategies for Form-Based Visual Programs
ISSRE '97 Proceedings of the Eighth International Symposium on Software Reliability Engineering
Testing Object-Oriented Programs An Integrated Approach
ISSRE '99 Proceedings of the 10th International Symposium on Software Reliability Engineering
A family of test adequacy criteria for database-driven applications
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Bi-Criteria Models for All-Uses Test Suite Reduction
Proceedings of the 26th International Conference on Software Engineering
ACM Transactions on Software Engineering and Methodology (TOSEM)
Parameterized object sensitivity for points-to analysis for Java
ACM Transactions on Software Engineering and Methodology (TOSEM)
Static object trace extraction for programs with pointers
Journal of Systems and Software - Special issue: Software reverse engineering
A context-sensitive structural heuristic for guided search model checking
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Aristotle: a system for development of program analysis based tools
ACM-SE 33 Proceedings of the 33rd annual on Southeast regional conference
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Establishing structural testing criteria for Java bytecode
Software—Practice & Experience
Interprocedural definition-use chains of dynamic pointer-linked data structures
Scientific Programming
Refining buffer overflow detection via demand-driven path-sensitive analysis
PASTE '07 Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Efficiently monitoring data-flow test coverage
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Deriving an approximation algorithm for automatic computation of ripple effect measures
Information and Software Technology
Testing pervasive software in the presence of context inconsistency resolution services
Proceedings of the 30th international conference on Software engineering
Testing criteria for object oriented visual dataflow languages
Journal of Computational Methods in Sciences and Engineering - Selected papers from the International Conference on Computer Science, Software Engineering, Information Technology, e-Business, and Applications, 2004
Inter-context control-flow and data-flow test adequacy criteria for nesC applications
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Complete Def-Use Analysis in Recursive Programs with Dynamic Data Structures
Euro-Par 2008 Workshops - Parallel Processing
Automatic generation of library bindings using static analysis
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Soundly Handling Static Fields: Issues, Semantics and Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
Optimal interprocedural program optimization: a new framework and its application
Optimal interprocedural program optimization: a new framework and its application
Contextual integration testing of classes
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Automatic test suite evolution
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Hi-index | 0.00 |
The dependencies that exist among definitions and uses of variables in a program are required by many language-processing tools. This paper considers the computation of definition-use and use-definition chains that extend across procedure boundaries at call and return sites. Intraprocedural definition and use information is abstracted for each procedure and is used to construct an interprocedural flow graph. This intraprocedural data-flow information is then propagated throughout the program via the interprocedural flow graph to obtain sets of reaching definitions and/or reachable uses for reach interprocedural control point, including procedure entry, exit, call, and return. Interprocedural definition-use and/or use-definition chains are computed from this reaching information. The technique handles the interprocedural effects of the data flow caused by both reference parameters and global variables, while preserving the calling context of called procedures. Additionally, recursion, aliasing, and separate compilation are handled. The technique has been implemented using a Sun-4 Workstation and incorporated into an interprocedural data-flow tester. Results from experiments indicate the practicality of the technique, both in terms of the size of the interprocedural flow graph and the size of the data-flow sets.