Synchronization problem testing framework with the producer-consumer problem