Static Verification of Data-Consistency Properties

Free registration required

Executive Summary

To leverage the increased processing power of modern multicore processors, programmers are left with the burden of writing concurrent programs. A popular language for writing concurrent programs is Java. In Java, a concurrent program consists of multiple threads that execute in parallel and communicate through shared memory. Because the number of threads is typically greater than the number of available processors (Or cores), a thread scheduler determines which threads will execute and for how long. From a programmer's perspective, the thread scheduler is non-deterministic. Writing correct concurrent programs is a notoriously difficult task because the programmer must account not only for the sequential behavior of an individual thread, but also for non-deterministic interference from other (External) threads.

  • Format: PDF
  • Size: 5263.36 KB