Dissertation/ Thesis
A Sparse Learning Approach for Linux Kernel Data Race Prediction
| Title: | A Sparse Learning Approach for Linux Kernel Data Race Prediction |
|---|---|
| Authors: | Ryan, Gabriel |
| Publication Year: | 2023 |
| Collection: | Columbia University: Academic Commons |
| Subject Terms: | Computer science, Operating systems (Computers), Fourier analysis, Threads (Computer programs), Machine learning, Debugging in computer science--Computer programs, Linux |
| Description: | Operating system kernels rely on fine-grained concurrency to achieve optimal performance on modern multi-core processors. However, heavy usage of fine-grained concurrency mechanisms make modern operating system kernels prone to data races, which can cause severe and often elusive bugs. In this thesis, I propose a new approach to identifying data races in OS Kernels based on learning a model to predict which memory accesses can be feasibly executed concurrently with one another. To develop an efficient learning method for memory access feasibility, I develop a novel approach based on encoding feasibility as a boolean indicator function of system calls and ordered memory accesses. A memory access feasibility function encoded this way will have a naturally sparse latent representation due to the sparsity of interthread communications and synchronization interactions, and can therefore be accurately approximated based on a small number of observed concurrent execution traces. This thesis introduces two key contributions. First, Probabilistic Lockset Analysis (PLA), is a new analysis that exploits sparsity in input dependencies in conjunction with a conservative lockset analysis to efficiently predict data races in the Linux OS Kernel. Second, approximate happens-before analysis in the fourier domain (HBFourier) generalizes the approach used by PLA to reason about interthread memory communications and synchronization events through sparse fourier learning. In addition to being theoretically grounded, these techniques are highly practical: they find hundreds of races in a recent Linux development kernel, an order of magnitude improvement over prior work, and find races with severe security impacts that have been overlooked by existing kernel testing systems for years. |
| Document Type: | thesis |
| Language: | English |
| DOI: | 10.7916/2bv8-pj42 |
| Availability: | https://doi.org/10.7916/2bv8-pj42 |
| Accession Number: | edsbas.F1AB9B1F |
| Database: | BASE |
| FullText | Text: Availability: 0 CustomLinks: – Url: https://doi.org/10.7916/2bv8-pj42# Name: EDS - BASE (ns324271) Category: fullText Text: View record from BASE |
|---|---|
| Header | DbId: edsbas DbLabel: BASE An: edsbas.F1AB9B1F RelevancyScore: 851 AccessLevel: 3 PubType: Dissertation/ Thesis PubTypeId: dissertation PreciseRelevancyScore: 851.480346679688 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: A Sparse Learning Approach for Linux Kernel Data Race Prediction – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Ryan%2C+Gabriel%22">Ryan, Gabriel</searchLink> – Name: DatePubCY Label: Publication Year Group: Date Data: 2023 – Name: Subset Label: Collection Group: HoldingsInfo Data: Columbia University: Academic Commons – Name: Subject Label: Subject Terms Group: Su Data: <searchLink fieldCode="DE" term="%22Computer+science%22">Computer science</searchLink><br /><searchLink fieldCode="DE" term="%22Operating+systems+%28Computers%29%22">Operating systems (Computers)</searchLink><br /><searchLink fieldCode="DE" term="%22Fourier+analysis%22">Fourier analysis</searchLink><br /><searchLink fieldCode="DE" term="%22Threads+%28Computer+programs%29%22">Threads (Computer programs)</searchLink><br /><searchLink fieldCode="DE" term="%22Machine+learning%22">Machine learning</searchLink><br /><searchLink fieldCode="DE" term="%22Debugging+in+computer+science--Computer+programs%22">Debugging in computer science--Computer programs</searchLink><br /><searchLink fieldCode="DE" term="%22Linux%22">Linux</searchLink> – Name: Abstract Label: Description Group: Ab Data: Operating system kernels rely on fine-grained concurrency to achieve optimal performance on modern multi-core processors. However, heavy usage of fine-grained concurrency mechanisms make modern operating system kernels prone to data races, which can cause severe and often elusive bugs. In this thesis, I propose a new approach to identifying data races in OS Kernels based on learning a model to predict which memory accesses can be feasibly executed concurrently with one another. To develop an efficient learning method for memory access feasibility, I develop a novel approach based on encoding feasibility as a boolean indicator function of system calls and ordered memory accesses. A memory access feasibility function encoded this way will have a naturally sparse latent representation due to the sparsity of interthread communications and synchronization interactions, and can therefore be accurately approximated based on a small number of observed concurrent execution traces. This thesis introduces two key contributions. First, Probabilistic Lockset Analysis (PLA), is a new analysis that exploits sparsity in input dependencies in conjunction with a conservative lockset analysis to efficiently predict data races in the Linux OS Kernel. Second, approximate happens-before analysis in the fourier domain (HBFourier) generalizes the approach used by PLA to reason about interthread memory communications and synchronization events through sparse fourier learning. In addition to being theoretically grounded, these techniques are highly practical: they find hundreds of races in a recent Linux development kernel, an order of magnitude improvement over prior work, and find races with severe security impacts that have been overlooked by existing kernel testing systems for years. – Name: TypeDocument Label: Document Type Group: TypDoc Data: thesis – Name: Language Label: Language Group: Lang Data: English – Name: DOI Label: DOI Group: ID Data: 10.7916/2bv8-pj42 – Name: URL Label: Availability Group: URL Data: https://doi.org/10.7916/2bv8-pj42 – Name: AN Label: Accession Number Group: ID Data: edsbas.F1AB9B1F |
| PLink | https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.F1AB9B1F |
| RecordInfo | BibRecord: BibEntity: Identifiers: – Type: doi Value: 10.7916/2bv8-pj42 Languages: – Text: English Subjects: – SubjectFull: Computer science Type: general – SubjectFull: Operating systems (Computers) Type: general – SubjectFull: Fourier analysis Type: general – SubjectFull: Threads (Computer programs) Type: general – SubjectFull: Machine learning Type: general – SubjectFull: Debugging in computer science--Computer programs Type: general – SubjectFull: Linux Type: general Titles: – TitleFull: A Sparse Learning Approach for Linux Kernel Data Race Prediction Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Ryan, Gabriel IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 01 Type: published Y: 2023 Identifiers: – Type: issn-locals Value: edsbas – Type: issn-locals Value: edsbas.oa |
| ResultId | 1 |