| course number | instructor | title |
| CS 6204 | D Lee | Reliable Concurrent Systems |
Despite our increasing reliance on computing platforms, ensuring the correctness of software systems remains an open problem. This problem has been compounded with the advant of parallel and concurrent systems: e.g., multicore processors, event-driven architecture, distributed systems. Concurrent programming is inherently complex because programmers have to carefully reason about possible interleavings. In recent years, this problem has drawn huge attention from researchers in systems, computer architecture, and software engineering communities.
In this course, we will study recent advances and new directions that are being pursued to address the challenges in developing, testing, and monitoring concurrent programs. Specific topics include concurrency debugging, active/systametic testing, runtime monitoring, and static/dynamic program analysis.
We assume that you have taken a basic course in Operating Systems, such as CS 3214, CS 4284, or CS 5204.