Abstract by S. Jacob Powell

Personal Infomation

Presenter's Name

S. Jacob Powell


Kyle Storey

Degree Level



Kyle Storey
Joshua Hooker
Benjamin Ogles

Abstract Infomation


Computer Science

Faculty Advisor

Eric Mercer


ZipperOTF: Automatic, Precise, and Simple Data Race Detection


Parallel programming is a technique for speeding up software by executing multiple tasks concurrently.

This technique can introduce data race, a class of errors that occur when two or more parallel tasks access a shared resource concurrently and at least one of the accesses is a write.

In the presence of data race, the order in which concurrent tasks execute can affect program behavior.

Because this order is not fully under programmer control, data race can be difficult to locate.

Automatic data race detection can address this difficulty.

Standard algorithms for automatic data race detection track which concurrent tasks last accessed a shared resource.

Our previous work, Zipper, instead records a partial order over groups of accesses to shared resources.

We present ZipperOTF, which simplifies and generalizes Zipper and enables data race detection before program termination.