A pragmatic verification approach for concurrent programs