Analyzing and predicting concurrency bugs in open source systems