Fast static analysis of C++ virtual function calls
DF Bacon, PF Sweeney - Proceedings of the 11th ACM SIGPLAN …, 1996 - dl.acm.org
Virtual functions make code easier for programmers to reuse but also make it harder for
compilers to analyze. We investigate the ability of three static analysis algorithms to improve …
compilers to analyze. We investigate the ability of three static analysis algorithms to improve …
Wysinwyx: What you see is not what you execute
G Balakrishnan, T Reps - ACM Transactions on Programming …, 2010 - dl.acm.org
Over the last seven years, we have developed static-analysis methods to recover a good
approximation to the variables and dynamically allocated memory objects of a stripped …
approximation to the variables and dynamically allocated memory objects of a stripped …
Inception:{System-Wide} security testing of {Real-World} embedded systems software
Connected embedded systems are becoming widely deployed, and their security is a
serious concern. Current techniques for security testing of embedded software rely either on …
serious concern. Current techniques for security testing of embedded software rely either on …
Practical virtual method call resolution for Java
V Sundaresan, L Hendren, C Razafimahefa… - ACM SIGPLAN …, 2000 - dl.acm.org
This paper addresses the problem of resolving virtual method and interface calls in Java
bytecode. The main focus is on a new practical technique that can be used to analyze large …
bytecode. The main focus is on a new practical technique that can be used to analyze large …
Virtual machine showdown: Stack versus registers
Virtual machines (VMs) enable the distribution of programs in an architecture-neutral format,
which can easily be interpreted or compiled. A long-running question in the design of VMs is …
which can easily be interpreted or compiled. A long-running question in the design of VMs is …
Reflection analysis for Java
Reflection has always been a thorn in the side of Java static analysis tools. Without a full
treatment of reflection, static analysis tools are both incomplete because some parts of the …
treatment of reflection, static analysis tools are both incomplete because some parts of the …
Wysinwyx: What you see is not what you execute
G Balakrishnan, T Reps, D Melski… - Working Conference on …, 2005 - Springer
Abstract What You See Is Not What You eXecute: computers do not execute source-code
programs; they execute machine-code programs that are generated from source code. Not …
programs; they execute machine-code programs that are generated from source code. Not …
The direct cost of virtual function calls in C++
We study the direct cost of virtual function calls in C++ programs, assuming the standard
implementation using virtual function tables. We measure this overhead experimentally for a …
implementation using virtual function tables. We measure this overhead experimentally for a …
Dynamic metrics for Java
In order to perform meaningful experiments in optimizing compilation and run-time system
design, researchers usually rely on a suite of benchmark programs of interest to the …
design, researchers usually rely on a suite of benchmark programs of interest to the …
A study of devirtualization techniques for a Java Just-In-Time compiler
K Ishizaki, M Kawahito, T Yasue, H Komatsu… - Proceedings of the 15th …, 2000 - dl.acm.org
Many devirtualization techniques have been proposed to reduce the runtime overhead of
dynamic method calls for various object-oriented languages, however, most of them are less …
dynamic method calls for various object-oriented languages, however, most of them are less …