Code Coverage Criteria for Asynchronous Programs