A State Exploration-Based Approach to Testing Java Monitors

  • Authors:
  • Yu Lei;Richard Carver;David Kung;Vidur Gupta;Monica Hernandez

  • Affiliations:
  • University of Texas at Arlington;George Mason University;University of Texas at Arlington;University of Texas at Arlington;University of Texas at Arlington

  • Venue:
  • ISSRE '06 Proceedings of the 17th International Symposium on Software Reliability Engineering
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

A Java monitor is a Java class that defines one or more synchronized methods. Unlike a regular object, a Java monitor object is intended to be accessed by multiple threads simultaneously. Thus, testing a Java monitor can be significantly different from testing a regular class. In this paper, we propose a state exploration-based approach to testing a Java monitor. A novel aspect of our approach is that during exploration, threads are introduced on-the-fly, and as needed, to simulate race conditions that can occur when multiple threads try to access a monitor object at the same time. Furthermore, each transition is defined in a way such that the behavior of the threads along each path can be precisely characterized and controlled. We describe a prototype tool called MonitorExplorer and report three case studies that are designed to provide an initial evaluation of our approach.