Using Instrumentation to Reproduce the Execution of Java Concurrent Programs

  • Márcio Eduardo Delamaro UNIVEM

Resumo


The Java language provides mechanisms to implement concurrency and synchronization based on the monitor model. Testing multi-thread Java programs many times requires to re-execute them with determined test data. The problem is that re-executing such programs with a same test datum does not guarantee the same behavior due to the non deterministic scheduling policy implemented in the JVM. In this paper we present a simple way to reproduce the behavior of a multi-thread Java program, based on program instrumentation.
Palavras-chave: deterministic replay, Java multi-thread programs

Referências

R. H. Carver and K. Tai. Replay and Testing for Concurrent Programs. IEEE Software, 8(2):6674, March 1991.

J.D. Choi and H. Srinivasan. Deterministic replay of java multhithread applications. In ACM SIGMETRICS Symposium on Parallel and Distributed Tools (SPDT), pages 4859, August 1998.

M. E. Delamaro, M. Pezzè, A. M. R. Vincenzi, and J. C. Maldonado. Mutant operators for testing concurrent Java programs. In SBES'2001 Simpósio Brasileiro de Engenharia de Software, pages 272285, Rio de Janeiro, RJ, October 2001.

J. McGee and J. Kramer. Concurrency: State Models and Java Programs. John Wiley and Sons, 19919.

A. J. Outt, J.M. Voas, and J. Payne. Mutation Operators for ADA. Technical ReportISSE-TR-96-09, Department of ISSE, George Mason University, Fairfax, VA, March 1996.

S. Silva-Barradas. Mutation Analysis of Concurrent Software. Phd thesis, Department of Eletronic and Informatics, Polythecnic of Milan, Milan, Italy, 1997.

E. Spreaco. Experimental Evaluation of a Technique to Test Concurrent Java Programs (in Italian). Undergrad. nal work, Facoltà Di Informatica - Università degli Studi di Milano, Milan, Italy, 2001.
Publicado
31/05/2004
DELAMARO, Márcio Eduardo. Using Instrumentation to Reproduce the Execution of Java Concurrent Programs. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 3. , 2004, Brasília. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2004 . p. 247-260. DOI: https://doi.org/10.5753/sbqs.2004.16197.