Department of Computer Engineering2024-11-0920121433-277910.1007/s10009-011-0210-12-s2.0-84861229047http://dx.doi.org/10.1007/s10009-011-0210-1https://hdl.handle.net/20.500.14288/9673We give an overview of correctness criteria specific to concurrent shared-memory programs and runtime verification techniques for verifying these criteria. We cover a spectrum of criteria, from ones focusing on low-level thread interference such as races to higher-level ones such as linearizability. We contrast these criteria in the context of runtime verification. We present the key ideas underlying the runtime verification techniques for these criteria and summarize the state of the art. Finally, we discuss the issue of coverage for runtime verification for concurrency and present techniques that improve the set of covered thread interleavings.AtomicityConcurrencyCorrectness criteriaCoverageRefinementSoftware engineeringComputational intelligenceRuntime verification of concurrency-specific correctness criteriaJournal Articlehttps://www.scopus.com/inward/record.uri?eid=2-s2.0-84861229047anddoi=10.1007%2fs10009-011-0210-1andpartnerID=40andmd5=ef9506ee1f5f202cf7450911fc81074eQ38186