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
License
This work is licensed under a Creative Commons Attribution-NonCommercial-Share Alike 4.0 International License.
Recommended Citation
Yanes, Andres, "A Dynamic Framework For Testing The Synchronization Behavior Of Java Monitors" (2007). Computer Science and Engineering Theses. 288.
https://mavmatrix.uta.edu/cse_theses/288
Comments
Degree granted by The University of Texas at Arlington