DSpace Repository

Stopping Data Races Using Redflag

Show simple item record

dc.contributor.advisor Zadok, Erez en_US
dc.contributor.author Duggal, Abhinav en_US
dc.contributor.other Department of Computer Science en_US
dc.date.accessioned 2012-05-15T18:03:13Z
dc.date.accessioned 2015-04-24T14:45:24Z
dc.date.available 2012-05-15T18:03:13Z
dc.date.available 2015-04-24T14:45:24Z
dc.date.issued 2010-05-01 en_US
dc.identifier Duggal_grad.sunysb_0771M_10112.pdf en_US
dc.identifier.uri http://hdl.handle.net/1951/55416 en_US
dc.identifier.uri http://hdl.handle.net/11401/70982 en_US
dc.description.abstract Although sophisticated runtime bug detection tools exist to root outall kinds of concurrency problems, the data they need is often notaccessible at the kernel level; examining every potentially concurrentmemory access for a system as central as a kernel is not feasible.This thesis shows our runtime analysis system Redflag whichbrings these essential tools to the Linux kernel.Redflag has three components: custom GCC plug-ins for inkernel instrumentation, a logging system to record instrumentedpoints, and at its core, an improved Lockset algorithm for the Linuxkernel.We used GCC plug-ins to instrument read and writes to global memorylocations, memory allocations, and locks---including seldom-addressedlocking primitives like RCU's Our fast logging system can log any eventcaught by instrumentation. The logging system is also optimized usingzero-copy I/O in the kernel, and variousin-kernel optimizations for improved performance.We customized the classic Lockset algorithm to prune false positivescaused by subtle kernel synchronization. We present a number oftechniques we applied to improve the accuracy of our analysis We tested our system onseveral file systems including Wrapfs, Btrfs, and the kernel's VFS layerand found 2 real races and several benign races. We also injected data races in thekernel and our system was able to detect them accurately. Redflag'sfalse positive rates are very low for most of the file systems.Our system is versatile using a small automation language to make it easy to runand use. Redflag can help kernel developers in finding data races inthe Linux kernel, and is easily applicable to other operating systemsand asynchronous systems as well. en_US
dc.description.sponsorship This work is sponsored by the Stony Brook University Graduate School in compliance with the requirements for completion of degree. en_US
dc.format Monograph en_US
dc.format.medium Electronic Resource en_US
dc.language.iso en_US en_US
dc.publisher The Graduate School, Stony Brook University: Stony Brook, NY. en_US
dc.subject.lcsh Computer Science en_US
dc.subject.other Data Race, GCC Plug-ins, Kernel, Linux, Lockset, Race Detection en_US
dc.title Stopping Data Races Using Redflag en_US
dc.type Thesis en_US
dc.mimetype Application/PDF en_US
dc.contributor.committeemember Scott Stoller en_US
dc.contributor.committeemember Rob Johnson en_US

Files in this item

This item appears in the following Collection(s)

Show simple item record

Search DSpace

Advanced Search


My Account