Invited Lecture: MonitorExplorer: A State Exploration-Based Approach to Testing Java Monitors
|
|
| Speaker: |
Dr. Jeff(Yu) Lei,
University of Texas at Arlington
|
| When: |
January 19, 2007 |
| Time: |
2:00pm |
| Where: |
ECS 243
|
|
Abstract:
An important feature of the Java language is that it provides built-in
support for multithreaded programming. In particular, a simplified
implementation of the monitor construct, which we refer to as Java
monitor, is provided to facilitate thread synchronization. In a Java
program, a Java monitor is defined as a Java class that contains one or
more synchronized methods, i.e., methods whose signatures contain the
keyword synchronized. Unlike a regular object, which is accessed by at
most one thread at a time, a Java monitor object is intended to be
accessed by multiple threads simultaneously. Thus, testing a Java monitor
is significantly different from testing a regular class.
In this talk, we will present a state exploration-based approach to
testing Java monitors. A novel aspect of our approach is that during
state 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. The states and state
transitions in the state space of a Java monitor are defined such that
thread interactions along each explored path can be precisely captured and
controlled. We will report a prototype tool, called MonitorExplorer, and
several case studies. The preliminary results indicate that our approach
can be very effective in detecting synchronization faults in a Java
monitor. We will conclude this talk by highlighting some challenges and
opportunities in concurrency testing.
Bio:
Yu Lei is currently an Assistant Professor of Computer Science at the
University of Texas, Arlington. He received his Ph.D. degree in Computer
Science from North Carolina State Univ. in 2002. He was a Member of
Technical Staff in Fujitsu Network Communications, Inc. from 1998 to 2001.
His research interests are in the area of automated software analysis,
testing and verification. His research has been supported by NASA and
NIST.
|