A survey of adaptive optimization in virtual machines

M Arnold, SJ Fink, D Grove, M Hind… - Proceedings of the …, 2005 - ieeexplore.ieee.org
Virtual machines face significant performance challenges beyond those confronted by
traditional static optimizers. First, portable program representations and dynamic language …

Using Hardware Performance Monitors to Understand the Behavior of Java Applications.

PF Sweeney, M Hauswirth, B Cahoon… - … Machine Research and …, 2004 - usenix.org
Modern Java programs, such as middleware and application servers, include many complex
software components. Improving the performance of these Java applications requires a …

Codesurfer/x86—a platform for analyzing x86 executables

G Balakrishnan, R Gruian, T Reps… - … conference on compiler …, 2005 - Springer
CodeSurfer/x86 is a prototype system for analyzing x86 executables. It uses a static-analysis
algorithm called value-set analysis (VSA) to recover intermediate representations that are …

Probabilistic calling context

MD Bond, KS McKinley - Acm Sigplan Notices, 2007 - dl.acm.org
Calling context enhances program understanding and dynamic analyses by providing a rich
representation of program location. Compared to imperative programs, object-oriented …

Accurate, efficient, and adaptive calling context profiling

X Zhuang, MJ Serrano, HW Cain, JD Choi - Proceedings of the 27th …, 2006 - dl.acm.org
Calling context profiles are used in many inter-procedural code optimizations and in overall
program understanding. Unfortunately, the collection of profile information is highly intrusive …

Understanding and exploiting optimal function inlining

T Theodoridis, T Grosser, Z Su - Proceedings of the 27th ACM …, 2022 - dl.acm.org
Inlining is a core transformation in optimizing compilers. It replaces a function call (call site)
with the body of the called function (callee). It helps reduce function call overhead and …

[PDF][PDF] Predictive context-sensitive fuzzing

P Borrello, A Fioraldi, DC D'Elia… - Network and …, 2024 - ndss-symposium.org
Coverage-guided fuzzers expose bugs by progressively mutating testcases to drive
execution to new program locations. Code coverage is currently the most effective and …

Automatic construction of inlining heuristics using machine learning

S Kulkarni, J Cavazos, C Wimmer… - Proceedings of the …, 2013 - ieeexplore.ieee.org
Method inlining is considered to be one of the most important optimizations in a compiler.
However, a poor inlining heuristic can lead to significant degradation of a program's running …

Optimized recompilation using hardware tracing

ICK Kocberber, M Wolczko, T Wuerthinger - US Patent 10,466,986, 2019 - Google Patents
A tracing controller may utilize a binary execution trace mechanism to trace execution of
compiled application machine code. The tracing controller may initiate hardware tracing to …

Automatic tuning of inlining heuristics

J Cavazos, MFP O'Boyle - SC'05: Proceedings of the 2005 …, 2005 - ieeexplore.ieee.org
Inlining improves the performance of programs by reducing the overhead of method
invocation and increasing the opportunities for compiler optimization. Incorrect inlining …