Defense: A Framework for Testing Concurrent Programs

A Framework for Testing Concurrent Programs

Rice University
The Department of Computer Sciece


Mathias Guenter Ricken
Master of Science Thesis Defense

A Framework for Testing Concurrent Programs

When: July 14, 2007


Incremental, test-driven development is sweeping the software industry, elevating testing from an ancillary activity to an integral part of the programming process. Unfortunately, in our recent experience developing production programs in Java, unit testing has only proven effective in assuring the reliability of code with a single thread of control; it is much less effective in concurrent programs.

To facilitate the development of concurrent programs, we are developing:

  1. An extension of the JUnit framework that actively supports the developer by treating tests that could silently ignore failures in auxiliary threads as test errors.
  2. A lightweight Java annotation language that can be used to specify and check the threading invariants of both existing and new code.
  3. A testing framework that can record and analyze the schedules of unit tests, detect deadlocks, and run the tests using modified schedules, increasing the likelihood that concurrency problems are discovered.

About Mathias

Software development engineer. Principal developer of DrJava. Recent Ph.D. graduate from the Department of Computer Science at Rice University.
This entry was posted in Concurrent Unit Testing, MS Thesis, Publications. Bookmark the permalink.

Leave a Reply