This talk will describe new advances that allow us to automatically prove both liveness properties and heap-shape properties of concurrent programs. The talk will focus on recent thread-modular extensions to the program termination prover TERMINATOR and shape analysis tool SLAyer and their application to Windows device drivers.