GGrantIndex
← Search

SHF: Small: IMUnit: Improved Multithreaded Unit Testing

$500,000FY2009CSENSF

University Of Illinois At Urbana-Champaign, Urbana IL

Investigators

Abstract

CCF-0916893 SHF:Small: IMUnit: Improved Multithreaded Unit Testing PIs: Darko Marinov and Grigore Rosu Computing is going through a paradigm shift from a mostly sequential worldview to a mostly parallel worldview. The currently dominant programming model for parallel code is that of shared data, where multiple threads of computation communicate by accessing shared data objects. Unfortunately, developing and testing multithreaded code is very hard. To significantly improve testing of multithreaded code, this project develops a set of new techniques and tools for multithreaded tests. A multithreaded test is a piece of code that creates and executes two or more threads. Executing a test follows some schedule/interleaving of the multiple threads. The key of the new approach is to allow the explicit specification of a set of relevant schedules for each test, while traditional tests implicitly specify all possible schedules. This project addresses three important challenges for multithreaded tests: (1) How to describe a set of schedules and which schedules from a given set to explore? (2) How to automatically generate multithreaded tests, especially schedules, for given code? (3) How to select and prioritize rerunning of the multithreaded tests when the code changes? Improved unit testing of multithreaded code has the potential to substantially increase the quality of developed code.

View original record on NSF Award Search →