Văn bản này: A widening approach to multithreaded program verification