Detecting Bugs of Concurrent Programs With Program Invariants | IEEE Journals & Magazine | IEEE Xplore