Dissertation/ Thesis

A Sparse Learning Approach for Linux Kernel Data Race Prediction

Bibliographic Details
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