Show simple item record

dc.identifier.urihttp://hdl.handle.net/1951/55416
dc.identifier.urihttp://hdl.handle.net/11401/70982
dc.description.sponsorshipThis work is sponsored by the Stony Brook University Graduate School in compliance with the requirements for completion of degree.en_US
dc.formatMonograph
dc.format.mediumElectronic Resourceen_US
dc.language.isoen_US
dc.publisherThe Graduate School, Stony Brook University: Stony Brook, NY.
dc.typeThesis
dcterms.abstractAlthough 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.
dcterms.available2012-05-15T18:03:13Z
dcterms.available2015-04-24T14:45:24Z
dcterms.contributorScott Stolleren_US
dcterms.contributorZadok, Erezen_US
dcterms.contributorRob Johnson.en_US
dcterms.creatorDuggal, Abhinav
dcterms.dateAccepted2012-05-15T18:03:13Z
dcterms.dateAccepted2015-04-24T14:45:24Z
dcterms.dateSubmitted2012-05-15T18:03:13Z
dcterms.dateSubmitted2015-04-24T14:45:24Z
dcterms.descriptionDepartment of Computer Scienceen_US
dcterms.formatMonograph
dcterms.formatApplication/PDFen_US
dcterms.identifierhttp://hdl.handle.net/1951/55416
dcterms.identifierDuggal_grad.sunysb_0771M_10112.pdfen_US
dcterms.identifierhttp://hdl.handle.net/11401/70982
dcterms.issued2010-05-01
dcterms.languageen_US
dcterms.provenanceMade available in DSpace on 2012-05-15T18:03:13Z (GMT). No. of bitstreams: 1 Duggal_grad.sunysb_0771M_10112.pdf: 221160 bytes, checksum: 0060d7ff9c75fd043373fc5ac735351d (MD5) Previous issue date: 1en
dcterms.provenanceMade available in DSpace on 2015-04-24T14:45:24Z (GMT). No. of bitstreams: 3 Duggal_grad.sunysb_0771M_10112.pdf.jpg: 1894 bytes, checksum: a6009c46e6ec8251b348085684cba80d (MD5) Duggal_grad.sunysb_0771M_10112.pdf.txt: 80518 bytes, checksum: 6fc6f11bafbd11a65e42596405920873 (MD5) Duggal_grad.sunysb_0771M_10112.pdf: 221160 bytes, checksum: 0060d7ff9c75fd043373fc5ac735351d (MD5) Previous issue date: 1en
dcterms.publisherThe Graduate School, Stony Brook University: Stony Brook, NY.
dcterms.subjectComputer Science
dcterms.subjectData Race, GCC Plug-ins, Kernel, Linux, Lockset, Race Detection
dcterms.titleStopping Data Races Using Redflag
dcterms.typeThesis


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record