Automatic Generation of Contracts for Concurrent Java Programs