This paper presents complexity results for model checking concurrent programs against temporal-epistemic formulae. We apply these results to evaluate the complexity of verifying p...
Concurrent programming errors arise when threads share data incorrectly. Programmers often avoid these errors by using synchronization to enforce a simple ownership policy: data i...
Jean-Phillipe Martin, Michael Hicks, Manuel Costa,...
Concurrent programs are difficult to debug and verify because of the nondeterministic nature of concurrent executions. A particular concurrency-related bug may only show up under ...
Current proposals for concurrent shared-memory languages, including C++ and C, provide sequential consistency only for programs without data races (the DRF guarantee). While the i...
The Event-B method is a formal approach to modelling systems, using refinement. Initial specification is a high level of abstraction; detail is added in refinement steps as the de...