Learning and teaching parallel programming in Java can sometimes be tedious, because the correct behavior of a parallel program can hardly be debugged. A runtime monitoring can help to gather information on the behavior of a parallel program. As Java Bytecode is executed inside a JVM, a runtime monitoring can be applied with almost no changes to the source code. In this paper, FerbJmon tools for monitoring Java objects at runtime are proposed. FerbJmon tools also include a tool for call graph creation and a tool for visualizing chronological accesses of threads on Java objects in a timeline diagram. A lightweight monitoring is necessary to minimize the influence of the monitoring on the program behavior itself. FerbJmon tools address this issue by selecting only one class for the monitoring at the same time and by a fast logging implementation. A producer/consumer program and a program for cooperative task execution are used to demonstrate the applicability and the performance of the logging. FerbJmon tools can be used to understand and optimize thread synchronization in Java programs.
CITATION STYLE
Ferber, M. (2015). FERBJMON tools - visualizing thread access on java objects using lightweight runtime monitoring. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9523, pp. 147–159). Springer Verlag. https://doi.org/10.1007/978-3-319-27308-2_13
Mendeley helps you to discover research relevant for your work.