Skip to content
This repository was archived by the owner on Dec 21, 2023. It is now read-only.
This repository was archived by the owner on Dec 21, 2023. It is now read-only.

Reproducing evaluation part of paper Healer #37

@harperchen

Description

@harperchen

Dear developers,

I recently ran healer, healer-, syzkaller, and moonshine with the following setting and aimed to reproduce the branch coverage growth shown in the paper published on SOSP 2021 "HEALER: Relation Learning Guided Kernel Fuzzing".

The test kernel target is Linux 5.0. I launched 4 virtual machines for all experiments. Each virtual machine is configured to use 2 cores and 4G memory, which is the same as the setting illustrated in the paper. The first figure shows the branch coverage growth of four tools over 24 hours.

To eliminate the influence of throughput, I further drew the branch coverage growth of four tools over the number of executed traces and got the following figure.

I'm curious about the following problems:

  1. The branch coverage achieved by healer in my experiments is less than 10w, whereas, the coverage can achieve near 20w (Figure 4) in the paper. To reproduce the results shown in the paper, could you please shed some light on whether my setting is incorrect or not?
  2. The coverage doesn't hurt a lot when I disabled the dynamic relation learning part (healer-). May I know how to reproduce the branch coverage improvement (Table 2) as shown in Sec 6.2 when evaluating the effectiveness of the relation learning?

Thank you.

The detailed configurations are shown below.

# Command to run healer and healer-
./bin/healer -d stretch.img --ssh-key stretch.id_rsa -k bzImage_5.0  -S ./ -j 4
# Config of Syzkaller and Moonshine
{
        "name": "",
        "target": "linux/amd64",
        "http": "0.0.0.0:56741",
        "rpc": ":0",
        "workdir": "/path/to/syzkaller/workdir",
        "kernel_obj": "/path/to/linux_5.0",
        "kernel_src": "/path/to/linux_5.0",
        "kernel_build_src": "/path/to/linux_5.0",
        "image": "/path/to/stretch.img",
        "sshkey": "/path/to/stretch.id_rsa",
        "ssh_user": "root",
        "syzkaller": "/path/to/syzkaller",
        "procs": 1,
        "sandbox": "none",
        "cover": true,
        "type": "qemu",
        "vm": {
                "count": 4,
                "kernel": "/path/to/bzImage_5.0",
                "cpu": 2,
                "mem": 4096
        }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions