Instrument to Remove: Using Java agents for fun and profit
Conference (INTERMEDIATE level)
Room 7
Have you ever written a Java agent? This talk will give you an introduction into writing small custom Java agents to create profilers or help with dead code removal, and how to write basic byte-code instrumentations.
I'll present you with all the techniques to write a Java agent and javassist based instrumentation code to find unused classes and dependencies in your project. Knowing which classes and dependencies are not used in your application can save you from considering the bugs and problems in these dependencies and classes if you remove them, helping to guard against supply chain attacks.
Java agents and instrumentation of a few lines of code can save you a lot of effort and implementing them is great fun 🙂
Johannes Bechberger
Johannes Bechberger is a JVM developer working on profilers and their underlying technology in the SapMachine team at SAP. This includes improvements to async-profiler and its ecosystem, a website to view the different JFR event types, and improvements to the FirefoxProfiler, making it usable in the Java world. He started at SAP in 2022 after two years of research studies at the KIT in Java security analyses. His work today comprises many open-source contributions and his blog, where he writes regularly on in-depth profiling and debugging topics and works on his JEP Candidate 435 to add a new profiling API to the OpenJDK.
Since 2023 he's touring the Java User Groups and conferences of Europe, like JavaZone and Devoxx Belgium to speak on various topics.