Abstract
Profilers are an important aid for developers to find bottlenecks and unused code in programs. Over the years many such tools have been developed for the Java language and ecosystem, each with their own advantages and caveats. We present a novel profiling tool
that is fully open-source, has a permissive license and is simple to set up and use. While most Java profilers use bytecode instrumentation, our profiler inserts counter statements directly into the source code. To analyze raw Java files we leverage the Coco/R compiler generator, coupled with a small and reusable fuzzy grammar. The grammar is designed
to be robust against future language changes and is tailored to gather only necessary metadata about Java source files. In its core, our profiler is a multi-platform command-line tool that generates HTML reports. The report serves as a structured, sorted and detailed overview of how often methods, blocks and statements were executed. To ensure correctness and the compatibility of our profiler to Java Version 17, we relied upon an
extensive unit test suite and the successful instrumentation of large code repositories (like jUnit 5). For improved usability and comfort, we additionally provide a JavaFX user interface to easily configure the parameters for our tool and to automatically execute it
with the press of a button.
| Originalsprache | Englisch |
|---|---|
| Betreuung / Begutachtung |
|
| Verlag | |
| Publikationsstatus | Veröffentlicht - Feb. 2024 |
Wissenschaftszweige
- 102 Informatik
- 102009 Computersimulation
- 102011 Formale Sprachen
- 102013 Human-Computer Interaction
- 102022 Softwareentwicklung
- 102024 Usability Research
- 102029 Praktische Informatik
JKU-Schwerpunkte
- Digital Transformation
Dieses zitieren
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver