|
Verification of Multi-Threaded Programs
The ever increasing use of hyperthreading as well as the
availability of inexpensive multiprocessor hardware present tremendous
opportunities as well as serious challenges for software developers.
Today, hyperthreading and multicore hardware have become ubiquitous,
which puts us at a fundamentalturning point in software development.
In order for software applications to benefit from the continued
exponential throughput advances in new processors, the applications
must be well-written multi-threaded software programs. Unfortunately,
writing multi-threaded software programs that can unleash the full
potential of present and future hardware systems remains as challenging
today as it was thirty years ago. In this project we aim to develop
practical tools and methodologies that can bring down the complexity of
testing/debugging multi-threaded programs to a level comparable to that
of testing/debugging sequential programs
|