Show simple item record

dc.identifier.urihttp://hdl.handle.net/1951/59858
dc.identifier.urihttp://hdl.handle.net/11401/71407
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.typeDissertation
dcterms.abstractTo approach the challenge of exploiting the performance potential of multi-core architectures, researchers and developers need systems that provide a reliable multi-threaded environment: every component of the underlying systems software must be designed for concurrent execution. But concurrency errors are difficult to diagnose with traditional debugging tools and, as not all schedules trigger them, can slip past even thorough testing. Runtime verification is a powerful technique for finding concurrency errors. Existing runtime verification tools can check potent concurrency properties, like atomicity, but have not been applied at the operating system level. This work explores runtime verification in the systems space, addressing the need for efficient instrumentation and overhead control in the kernel, where performance is paramount. Runtime verification can speculate on alternate schedules to discover potential property violations that do not occur in a test execution. Non-speculative approaches detect only violations that actually occur, but they are less prone to false positives and are computationally faster, making them well suited to online analysis. Offline monitoring is suited to more types of analysis, because speed is less of a concern, but is limited by the space needs of large execution logs, whereas online monitors, which do not store logs, can monitor longer runs and thus more code. All approaches benefit from the ability to target specific system components, so that developers can focus debugging efforts on their own code. We consider several concurrency properties: data-race freedom, atomicity, and memory model correctness. Our Redflag logging system uses GCC plug-ins we designed to efficiently log memory accesses and synchronization operations in targeted subsystems. We have developed data race and atomicity checkers for analyzing the resulting logs, and we have tuned them to recognize synchronization patterns found in systems code. Additionally, our Adaptive Runtime Verification framework (ARV) provides monitoring for concurrency properties when overhead constraints make it impractical to monitor every event in the system. Even with this incomplete knowledge, ARV can estimate the state of the monitored system and dynamically reassign monitoring resources to objects that are most likely to encounter errors.
dcterms.available2013-05-22T17:35:34Z
dcterms.available2015-04-24T14:47:26Z
dcterms.contributorStoller, Scott Den_US
dcterms.contributorZadok, Erezen_US
dcterms.contributorSmolka, Scott Aen_US
dcterms.contributorGrosu, Raduen_US
dcterms.contributorHavelund, Klausen_US
dcterms.creatorSeyster, Justin
dcterms.dateAccepted2013-05-22T17:35:34Z
dcterms.dateAccepted2015-04-24T14:47:26Z
dcterms.dateSubmitted2013-05-22T17:35:34Z
dcterms.dateSubmitted2015-04-24T14:47:26Z
dcterms.descriptionDepartment of Computer Scienceen_US
dcterms.extent86 pg.en_US
dcterms.formatApplication/PDFen_US
dcterms.formatMonograph
dcterms.identifierSeyster_grad.sunysb_0771E_11169en_US
dcterms.identifierhttp://hdl.handle.net/1951/59858
dcterms.identifierhttp://hdl.handle.net/11401/71407
dcterms.issued2012-12-01
dcterms.languageen_US
dcterms.provenanceMade available in DSpace on 2013-05-22T17:35:34Z (GMT). No. of bitstreams: 1 Seyster_grad.sunysb_0771E_11169.pdf: 1206597 bytes, checksum: d959ab14f8551773d75646bfbb7fe43c (MD5) Previous issue date: 1en
dcterms.provenanceMade available in DSpace on 2015-04-24T14:47:26Z (GMT). No. of bitstreams: 3 Seyster_grad.sunysb_0771E_11169.pdf.jpg: 1894 bytes, checksum: a6009c46e6ec8251b348085684cba80d (MD5) Seyster_grad.sunysb_0771E_11169.pdf.txt: 231406 bytes, checksum: bc50e956fa618e80c4c6e139363fa300 (MD5) Seyster_grad.sunysb_0771E_11169.pdf: 1206597 bytes, checksum: d959ab14f8551773d75646bfbb7fe43c (MD5) Previous issue date: 1en
dcterms.publisherThe Graduate School, Stony Brook University: Stony Brook, NY.
dcterms.subjectconcurrency, kernel, runtime verification
dcterms.subjectComputer science
dcterms.titleRuntime Verification of Kernel-Level Concurrency Using Compiler-Based Instrumentation
dcterms.typeDissertation


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record