“…Checking termination of concurrent programs is an important practical problem and has received a lot of attention [3,29,35,37]. A variety of interesting techniques, including thread-modular reasoning [10,34,35,37], causality-based reasoning [29], and well-founded proof spaces [15], among others, have been used to advance the state of the art in reasoning about concurrent program termination. Independently, it has been established that leveraging commutativity in proving safety properties can be a powerful tool in improving automated checkers [16][17][18][19].…”