Performance optimization of a Java instrumentation agent for calling context encoding

Ostap Maliuvanchuk
The idea behind calling context encoding algorithms is to efficiently build a call graph of an application in order to be able to give developers a call stack trace of any event at any point of the program execution. Having the information that calling context provides ena-bles developers to better interpret results of monitoring and profiling tools. In this paper, we discuss in greater detail the benefits of calling context encoding and the problems with current algorithms that are trying to construct calling context. We take an algorithm im-plemented as Java instrumentation agent - Lucce - and explain its promising possibilities, benefits over other similar algorithms, as well as its main performance problem. This thesis contributes to this field firstly by presenting an analysis of different methods of perfor-mance optimization and their applications to a Java agent, and secondly by applying these methods to the performance optimization of the Lucce algorithm and its Java implementa-tion.
Graduation Thesis language
Graduation Thesis type
Master - Software Engineering
Vesal Vojdani, Nikita Salnikov-Tarnovski
Defence year