Testing concurrent programs: a formal evaluation of coverage criteria | IEEE Conference Publication | IEEE Xplore