Author

Andres Yanes

Graduation Semester and Year

2007

Language

English

Document Type

Thesis

Degree Name

Master of Science in Computer Science

Department

Computer Science and Engineering

First Advisor

(Jeff) Yu Lei

Abstract

A Java monitor is a specialized class that is used to synchronize the behavior of threads in a Java program. The monitors in a Java program must be adequately tested to ensure the correctness of the program. In this thesis we propose a dynamic framework in which a Java monitor is tested by exploring its state space in a depth-first manner. The state exploration procedure consists of dynamically creating method sequences to exercise the possible synchronization behavior of the monitor. During exploration, new threads will be created on the fly to simulate different scenarios that result from threads reaching the monitor at different times. Each state reached is represented by a collection of data members that have been identified as having an affect the synchronization behavior of the monitor as well as an abstraction of the thread states. A prototype tool that implements our framework has been built and has been used to evaluate the effectiveness of our approach in five case studies. In each case study, mutations to the original source code of a Java monitor are introduced to create variants that represent common mistakes made by programmers. The experimental results show that our framework is effective in detecting the synchronization failures in the case studies.

Disciplines

Computer Sciences | Physical Sciences and Mathematics

Comments

Degree granted by The University of Texas at Arlington

Share

COinS