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 …

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 …

Inception:{System-Wide} security testing of {Real-World} embedded systems software

N Corteggiani, G Camurati, A Francillon - 27th USENIX Security …, 2018 - usenix.org
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 …

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 …

Virtual machine showdown: Stack versus registers

Y Shi, K Casey, MA Ertl, D Gregg - ACM Transactions on Architecture …, 2008 - dl.acm.org
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 …

Reflection analysis for Java

B Livshits, J Whaley, MS Lam - … 2005, Tsukuba, Japan, November 2-5 …, 2005 - Springer
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 …

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 …

The direct cost of virtual function calls in C++

K Driesen, U Hölzle - Proceedings of the 11th ACM SIGPLAN …, 1996 - dl.acm.org
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 …

Dynamic metrics for Java

B Dufour, K Driesen, L Hendren… - Proceedings of the 18th …, 2003 - dl.acm.org
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 …

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 …