Testing Using Schedule-Based Execution: Detection of Synchronization Events
In order to robustly test concurrent unit tests, we are developing a program to transparently detect synchronization events, like uses of the Thread class, synchronized methods and blocks, etc., in Java programs.
The program automatically modifies the Java runtime library once and user programs at runtime to install hook methods that report these events.
Synchronization During Java VM Initialization and Termination
Using this program, we analyzed the synchronization points that occurred during the Java VM initialization and termination. There are over 1,000 synchronization points, but they are all executed by just one thread. The initialization and termination appears single-threaded (or multi-threaded but without shared data); therefore, the synchronization might not be necessary.
Read our report: Synchronization During Java VM Initialization and Termination (PDF)
Log files referred to in the report: