Landslide: Systematic Dynamic Race Detection in Kernel Space

Abstract

Systematic exploration is an approach to finding race conditions by deterministically executing every possible interleaving of thread transitions and identifying which ones expose bugs. Current systematic exploration techniques are suitable for testing user-space programs, but are inadequate for testing kernels, where the testing framework's control over concurrency is more complicated. We present Landslide, a systematic exploration tool for finding races in kernels. Landslide targets Pebbles, the kernel specification that students implement in the undergraduate Operating Systems course at Carnegie Mellon University (15- 410). We discuss the techniques Landslide uses to address the general challenges of kernel-level concurrency, and we evaluate its effectiveness and usability as a debugging aid. We show that our techniques make systematic testing in kernel-space feasible and that Landslide is a useful tool for doing so in the context of 15-410.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 01, 2012
Accession Number
ADA562197

Entities

People

  • Ben Blum

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • C4I
  • Human Systems

DTIC Thesaurus Topics

  • Algorithms
  • Case Studies
  • Computer Programming
  • Computer Programs
  • Computers
  • Debugging
  • Detection
  • Device Drivers
  • Instrumentation
  • Kernels (Operating System)
  • Multithreading
  • New York
  • Operating Systems
  • Simulations
  • Specifications
  • Students
  • Systems Engineering

Fields of Study

  • Computer science

Readers

  • Distributed Systems and Data Platform Development
  • Parallel and Distributed Computing.
  • Software Engineering.

Technology Areas

  • Space