Skip to content

kstep-dev/study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Artifact of kernel scheduler bugs study

This repository contains the source code for

kSTEP: Characterization and Controlled Testing of Linux CPU Scheduler Bugs (OSDI '26)

Overview

The instructions will reproduce the key results in Figure 4-12, and Table 1. The entire process can take around 10 minutes.

Environment

We reserved three servers (c220g5 in Cloudlab with Ubuntu 24.04), one for each reviewer. Please add your SSH public key to the spreadsheet next to the IP address of the server you will use.

Inside each server, you can access the bug study repo with

cd ~/project/study

Prerequisites

Before running any analyses or generating figures, ensure the following steps are completed:

  1. Install the required Python dependencies with uv:

    curl -LsSf https://astral.sh/uv/install.sh | sh # Skip if uv has been installed 
    source $HOME/.local/bin/env
    uv sync
    source .venv/bin/activate
  2. Set up the necessary directories for Linux paths:

    python util/set_linux_dirs.py
  3. Create the result directory to store generated outputs:

    mkdir result

Generating Figures and Tables

Execute the following commands to reproduce the figures and tables presented in the paper. Please run each script from the project’s root directory.

  • Figure 4

    python overview/complexity.py --mode count
    python overview/complexity.py --mode plot
  • Table 1

    python overview/component_count.py
  • Figure 5

    python overview/lifetime.py
  • Figure 6

    python overview/backport.py
  • Figure 7

    python consequence/observability.py
  • Figure 8

    python consequence/consequence.py
  • Figures 9 and 10

    python testMethod/manifest_prevention.py
  • Figure 11

    python rootcause/root_cause.py
  • Figure 12

    python trigger/trigger_condition.py

The results are saved at ~/project/study/result/. You can download the plots to review them. Run the following command on your own PC:

scp -r 'Tingjia@{ServerIP}:~/project/study/result/' /LOCAL/DIR

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages