Instrumentation of Concurrent Java Applications for Program Behavior Investigation

Saved in:
Bibliographic Details
Title: Instrumentation of Concurrent Java Applications for Program Behavior Investigation
Authors: BECHINI, ALESSIO, PRETE, COSIMO ANTONIO
Contributors: Bechini, Alessio, Prete, COSIMO ANTONIO
Publication Year: 1999
Collection: ARPI - Archivio della Ricerca dell'Università di Pisa
Subject Terms: Concurrent Java program, Tracing and replay, Program instrumentation
Description: Java makes easier the coding phase of concurrent applications and provides friendly mechanisms for the information exchange among threads and different processes. The nature of communication and synchronization mechanisms and the actual parallelism of a distributed environment introduce potential sources of non-deterministic behavior in concurrent applications. In order to investigate on undesired effects related to non-deterministic behaviors, tracing and replay capabilities can be added to the programming environment. Such capabilities are useful for testing, debugging, monitoring and performance evaluation purposes. This paper presents a solution for providing tracing and replay capabilities to Java concurrent applications. Such a solution addresses portability and it is based on the automatic instrumentation of the original source code. Some transformation schemes have been applied to some classes in the standard Java packages in order to make easier and more efficient the automatic instrumentation task. It is shown how the object-oriented structure of Java can be exploited in a deep and efficient way both in the instrumentation and in the tracing and replay phases.
Document Type: conference object
Language: English
Relation: ispartofbook:Proc. of ACM Int'l Conference on Supercomputing - Workshop Java for High-Performance Computing; ACM Int'l Conference on Supercomputing - Workshop Java for High-Performance Computing; firstpage:21; lastpage:29; numberofpages:9; https://hdl.handle.net/11568/166893
Availability: https://hdl.handle.net/11568/166893
Accession Number: edsbas.A93487
Database: BASE
Description
Abstract:Java makes easier the coding phase of concurrent applications and provides friendly mechanisms for the information exchange among threads and different processes. The nature of communication and synchronization mechanisms and the actual parallelism of a distributed environment introduce potential sources of non-deterministic behavior in concurrent applications. In order to investigate on undesired effects related to non-deterministic behaviors, tracing and replay capabilities can be added to the programming environment. Such capabilities are useful for testing, debugging, monitoring and performance evaluation purposes. This paper presents a solution for providing tracing and replay capabilities to Java concurrent applications. Such a solution addresses portability and it is based on the automatic instrumentation of the original source code. Some transformation schemes have been applied to some classes in the standard Java packages in order to make easier and more efficient the automatic instrumentation task. It is shown how the object-oriented structure of Java can be exploited in a deep and efficient way both in the instrumentation and in the tracing and replay phases.