Interprocedural slicing using dependence graphs
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
Efficient construction of program dependence graphs
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
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
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Precise interprocedural dataflow analysis via graph reachability
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Context-insensitive alias analysis reconsidered
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
The design of whole-program analysis tools
Proceedings of the 18th international conference on Software engineering
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
Call graph construction in object-oriented languages
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Reuse-driven interprocedural slicing
Proceedings of the 20th international conference on Software engineering
System-dependence-graph-based slicing of programs with arbitrary interprocedural control flow
Proceedings of the 21st international conference on Software engineering
A precise inter-procedural data flow algorithm
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the tenth international symposium on Hardware/software codesign
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Program Slicing with Dynamic Points-To Sets
IEEE Transactions on Software Engineering
Automated bug isolation via program chipping
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Effects of context on program slicing
Journal of Systems and Software - Special issue: Selected papers from the 4th source code analysis and manipulation (SCAM 2004) workshop
An empirical study of static program slice size
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automated bug isolation via program chipping
Software—Practice & Experience
Hi-index | 0.00 |
One of the important issues in constructing interprocedural program slices is maintaining context-sensitivity or preserving calling context when a procedure is called at multiple call sites. Though a number of context-sensitive techniques have been presented in the last decade, the following important questions remain unanswered: 1) What is the level of precision lost if context-sensitivity is not maintained ? 2) What are the additional costs for achieving context-sensitivity?In this paper, we evaluate a PDG based explicitly context-sensitive interprocedural program slicing technique for accuracy and efficiency. We compare this technique against a context-insensitive technique using a program slicing framework we have developed for Java programs for which only the byte-code sequences are available.Our results show that the context-sensitive technique, in spite of its worst case exponential complexity, can be very efficient in practice. The execution time for our set of benchmarks is, on the average, only twice as much as the execution time for the context-insensitive technique. The results on the accuracy for the context-insensitive technique are mixed. For 53% of the 2464 slicing criteria used in our experiments, the context-insensitive technique does not loose accuracy. However, in some cases, it can also lead to slices with 35 times more vertices. On the average, the slices constructed from the context-insensitive technique are twice as large as the one from the context-sensitive technique.