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
Interprocedural slicing using dependence graphs
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
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
Lifetime analysis of dynamically allocated objects
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An interval-based approach to exhaustive and incremental interprocedural data-flow analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Pointer-induced aliasing: a problem classification
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The semantic approach to program slicing
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Data flow-based test adequacy analysis for languages with pointers
TAV4 Proceedings of the symposium on Testing, analysis, and verification
Interprocedural Def-Use associations in C programs
TAV4 Proceedings of the symposium on Testing, analysis, and verification
A safe approximate algorithm for interprocedural aliasing
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Interprocedural modification side effect analysis with pointer aliasing
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Analyzing aliases of reference formal parameters
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A practical interprocedural data flow analysis algorithm
Communications of the ACM
Efficient computation of flow insensitive interprocedural summary information
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Optimizing Supercompilers for Supercomputers
Optimizing Supercompilers for Supercomputers
Dependence Analysis for Supercomputing
Dependence Analysis for Supercomputing
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
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
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Data flow analysis techniques for test data selection
ICSE '82 Proceedings of the 6th international conference on Software engineering
The program dependence graph in a software development environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Interprocedural modification side effect analysis with pointer aliasing
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
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
Memory access coalescing: a technique for eliminating redundant memory accesses
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Context-sensitive interprocedural points-to analysis in the presence of function pointers
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Compiler transformations for high-performance computing
ACM Computing Surveys (CSUR)
Experimental results from dynamic slicing of C programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Optimizing sparse representations for dataflow analysis
IR '95 Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations
Sparse functional stores for imperative programs
IR '95 Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations
Architectural Tradeoffs for a Meaning-Preserving Program Restructuring Tool
IEEE Transactions on Software Engineering - Special issue on software architecture
Context-insensitive alias analysis reconsidered
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
Fast static analysis of C++ virtual function calls
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Compiler-based prefetching for recursive data structures
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
Points-to analysis in almost linear time
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Fast and accurate flow-insensitive points-to analysis
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Synchronization transformations for parallel computing
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Call graph construction in object-oriented languages
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Putting pointer analysis to work
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Commutativity analysis: a new analysis technique for parallelizing compilers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Comparing flow and context sensitivity on the modification-side-effects problem
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
Effective whole-program analysis in the presence of pointers
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic Compiler-Inserted Prefetching for Pointer-Based Applications
IEEE Transactions on Computers - Special issue on cache memory and related problems
Pointer analysis for programs with structures and casting
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
System-dependence-graph-based slicing of programs with arbitrary interprocedural control flow
Proceedings of the 21st international conference on Software engineering
An incremental flow- and context-sensitive pointer aliasing analysis
Proceedings of the 21st international conference on Software engineering
Interprocedural pointer alias analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Semantics-preserving procedure extraction
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient Interprocedural Array Data-Flow Analysis for Automatic Program Parallelization
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools for parallel processing
Light-weight context recovery for efficient and accurate program analyses
Proceedings of the 22nd international conference on Software engineering
Which pointer analysis should I use?
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Automatic predicate abstraction of C programs
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Complexity of Points-To Analysis of Java in the Presence of Exceptions
IEEE Transactions on Software Engineering
Pointer analysis: haven't we solved this problem yet?
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
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)
Interprocedural Def-Use Associations for C Systems with Single Level Pointers
IEEE Transactions on Software Engineering
Parallelizing graph construction operations in programs with cyclic graphs
Parallel Computing
Building a bridge between pointer aliases and program dependences
Nordic Journal of Computing
Data Distribution Analysis and Optimization for Pointer-Based Distributed Programs
ICPP '97 Proceedings of the international Conference on Parallel Processing
Assessing the Effects of Flow-Sensitivity on Pointer Alias Analyses
SAS '98 Proceedings of the 5th International Symposium on Static Analysis
Automatic generation of interprocedural data-flow analyzers and optimizers
Journal of Computer Science and Technology
Memory disambiguation for general-purpose applications
CASCON '95 Proceedings of the 1995 conference of the Centre for Advanced Studies on Collaborative research
A fast approximate interprocedural analysis for speculative multithreading compilers
ICS '03 Proceedings of the 17th annual international conference on Supercomputing
Identifying parallelism in programs with cyclic graphs
Journal of Parallel and Distributed Computing
Incremental Slicing Based on Data-Dependences Types
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Adapting side effects analysis for modular program model checking
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
ARCHER: using symbolic, path-sensitive analysis to detect memory access errors
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Cloning-based context-sensitive pointer alias analysis using binary decision diagrams
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Interprocedural Probabilistic Pointer Analysis
IEEE Transactions on Parallel and Distributed Systems
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Improving software security with a C pointer analysis
Proceedings of the 27th international conference on Software engineering
Context-sensitive program analysis as database queries
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Runtime specialization with optimistic heap analysis
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Static type determination for C++
CTEC'94 Proceedings of the 6th conference on USENIX Sixth C++ Technical Conference - Volume 6
Combined static and dynamic mutability analysis
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Evaluating the benefits of context-sensitive points-to analysis using a BDD-based implementation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Parameter reference immutability: formal definition, inference tool, and comparison
Automated Software Engineering
GC assertions: using the garbage collector to check heap properties
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Scalable Context-Sensitive Points-to Analysis Using Multi-dimensional Bloom Filters
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Probabilistic points-to analysis for java
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
JPure:: a modular purity system for java
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
Using disjoint reachability for parallelization
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
Identification of extract method refactoring opportunities for the decomposition of methods
Journal of Systems and Software
Side-effect analysis of assembly code
SAS'11 Proceedings of the 18th international conference on Static analysis
Using inter-procedural side-effect information in JIT optimizations
CC'05 Proceedings of the 14th international conference on Compiler Construction
Object representatives: a uniform abstraction for pointer information
VoCS'08 Proceedings of the 2008 international conference on Visions of Computer Science: BCS International Academic Conference
A generic architecture for data flow analysis to support reverse engineering
Algebraic'97 Proceedings of the 2nd international conference on Theory and Practice of Algebraic Specifications
Exploiting regularity of user-defined types to improve precision of program analyses
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Language design and analyzability: a retrospective
Software—Practice & Experience
Constraint-based locality analysis for X10 programs
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Summary-based data-flow analysis that understands regular composite objects and iterators
ACM SIGAPP Applied Computing Review
Aliasing in Object-Oriented Programming
Time- and space-efficient flow-sensitive points-to analysis
ACM Transactions on Architecture and Code Optimization (TACO)
A constraint-weaving approach to points-to analysis for AspectJ
Frontiers of Computer Science: Selected Publications from Chinese Universities
Hi-index | 0.00 |
We present a new interprocedural modification side effects algorithm for C programs, that can discern side effects through general-purpose pointer usage. Ours is the first complete design and implementation of such an algorithm. Preliminary performance findings support the practicality of the technique, which is based on our previous approximation algorithm for pointer aliases [LR92]. Each indirect store through a pointer variable is found, on average, to correspond to a store into 1.2 locations. This indicates that our program-point-specific pointer aliasing information is quite precise when used to determine the effects of these stores.