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
Using multidimensional separation of concerns to (re)shape evolving software
Communications of the ACM
A framework for call graph construction algorithms
ACM Transactions on Programming Languages and Systems (TOPLAS)
Pointer analysis for structured parallel programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
An overview of methods for dependence analysis of concurrent programs
ACM SIGPLAN Notices
Analysis of Multithreaded Programs
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Experimental Comparison of call string and functional Approaches to Interprocedural Analysis
CC '99 Proceedings of the 8th International Conference on Compiler Construction, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS'99
Pointer analysis of multithreaded Java programs
Proceedings of the 2003 ACM symposium on Applied computing
Cloning-based context-sensitive pointer alias analysis using binary decision diagrams
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Symbolic pointer analysis revisited
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
A classification system and analysis for aspect-oriented programs
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Parameterized object sensitivity for points-to analysis for Java
ACM Transactions on Software Engineering and Methodology (TOSEM)
abc: an extensible AspectJ compiler
Proceedings of the 4th international conference on Aspect-oriented software development
Evaluating the impact of context-sensitivity on Andersen's algorithm for Java programs
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Refinement-based context-sensitive points-to analysis for Java
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Making context-sensitive points-to analysis with heap cloning practical for the real world
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Interstatement must aliases for data dependence analysis of heap locations
PASTE '07 Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Thread-Sensitive Pointer Analysis for Inter-Thread Dataflow Detection
FTDCS '07 Proceedings of the 11th IEEE International Workshop on Future Trends of Distributed Computing Systems
An improved bound for call strings based interprocedural analysis of bit vector frameworks
ACM Transactions on Programming Languages and Systems (TOPLAS)
Merging equivalent contexts for scalable heap-cloning-based context-sensitive points-to analysis
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Evaluating the benefits of context-sensitive points-to analysis using a BDD-based implementation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
Large Spurious Cycle in Global Static Analyses and Its Algorithmic Mitigation
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
Client-driven pointer analysis
SAS'03 Proceedings of the 10th international conference on Static analysis
Dimensions of precision in reference analysis of object-oriented programming languages
CC'03 Proceedings of the 12th international conference on Compiler construction
Scaling Java points-to analysis using SPARK
CC'03 Proceedings of the 12th international conference on Compiler construction
CC'08/ETAPS'08 Proceedings of the Joint European Conferences on Theory and Practice of Software 17th international conference on Compiler construction
Context-Sensitive points-to analysis: is it worth it?
CC'06 Proceedings of the 15th international conference on Compiler Construction
Hi-index | 0.00 |
Context: Different method calls may have different contributions to the precision of the final application when abstracted into the call strings. The existing call string based pointer analysis algorithms do not consider such contribution difference and hence may not achieve best cost-effectiveness. Objective: To be more cost-effective, we try to leverage the contribution information of each method call in call string based pointer analysis. Method: The paper firstly proposes a contribution-based call stack abstraction method which abstracts the call stacks into call strings with the contribution information under consideration. Then, we apply the new call stack abstraction method to the pointer analysis of AspectJ programs and propose a concern-sensitive points-to analysis method. Besides, the new abstraction method is also applied to multi-threaded Java programs and results in a thread-sensitive pointer analysis method. Results: The experimental results show that the two pointer analysis methods with contribution-based call stack abstraction can be more cost-effective than the ordinary call string based approaches for an application that detects harmful advices and an application that detects inter-thread data flow. Conclusion: These pointer analysis methods more concretely and more clearly show that the contribution-based call stack abstraction can lead to better cost-effectiveness for the given applications.