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.