Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interprocedural static analysis of sequencing constraints
ACM Transactions on Software Engineering and Methodology (TOSEM)
Efficient computation of interprocedural definition-use chains
ACM Transactions on Programming Languages and Systems (TOPLAS)
The undecidability of aliasing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
Points-to analysis in almost linear time
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Discovering models of software processes from event-based data
ACM Transactions on Software Engineering and Methodology (TOSEM)
Which pointer analysis should I use?
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Scalable context-sensitive flow analysis using instantiation constraints
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Compiler and tool support for debugging object protocols
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Slicing object-oriented java programs
ACM SIGPLAN Notices
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
ESP: path-sensitive program verification in polynomial time
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Automatic extraction of object-oriented component interfaces
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Intermodular Slicing of Object-oriented Programs
CC '98 Proceedings of the 7th International Conference on Compiler Construction
Slicing Object-Oriented Programs
APSEC '97 Proceedings of the Fourth Asia-Pacific Software Engineering and International Computer Science Conference
Using Visualization for Architectural Localization and Extraction
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
An Intermediate Representation for Reverse Engineering Analyses
WCRE '98 Proceedings of the Working Conference on Reverse Engineering (WCRE'98)
Slicing Objects Using System Dependence Graphs
ICSM '98 Proceedings of the International Conference on Software Maintenance
A Slicing Method for Object-Oriented Programs Using Lightweight Dynamic Information
APSEC '01 Proceedings of the Eighth Asia-Pacific on Software Engineering Conference
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
ICSE COMPANION '07 Companion to the proceedings of the 29th International Conference on Software Engineering
Detecting object usage anomalies
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Journal of Systems and Software
Software Engineering
Bauhaus: a tool suite for program analysis and reverse engineering
Ada-Europe'06 Proceedings of the 11th Ada-Europe international conference on Reliable Software Technologies
Hi-index | 0.00 |
A trace is a record of the execution of a computer program, showing the sequence of operations executed. Dynamic traces are obtained by executing the program and depend upon the input. Static traces, on the other hand, describe potential sequences of operations extracted statically from the source code. Static traces offer the advantage that they do not depend upon input data. This paper describes a new automatic technique to extract static traces for individual stack and heap objects. The extracted static traces can be used in many ways, such as protocol recovery and validation in particular and program understanding in general. In addition, this article describes four case studies we conducted to explore the efficiency of our algorithm, the size of the resulting static traces, and the influence of the underlying points-to analysis on this size.