FoxyFeed: Forging device-level asynchronous events for kernel development

Kenji Kono, Shunsuke Miyahara, Hiroshi Yamada, Takeshi Yoshimura

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Enhancing source code quality of operating systems (OSes) is an essential and endless task in communities of commodity OSes. Unfortunately, improving the quality of the kernel code is not trivial because the kernel is large and complex. In particular, asynchronous events from peripheral devices such as interrupts make the improvement quite hard due to their low reproducibility. This paper presents Foxy Feed, a mechanism based on virtual machine monitors that helps to fix bugs caused by asynchronous device-level events. Foxy Feed forges device-level events and injects them to a debuggee kernel at the timing specified in advance, and allows us to control the timing at which asynchronous events occur for the debugging purpose. Using our prototype implementation of Foxy Feed, which is based on Xen 4.1.0, we demonstrate that Foxy Feed reproduces failures caused by device-triggered bugs in Linux and gives significant clues to the root causes.

Original languageEnglish
Title of host publicationProceedings of IEEE Pacific Rim International Symposium on Dependable Computing, PRDC
PublisherIEEE Computer Society
Pages145-154
Number of pages10
ISBN (Print)9781479964741
DOIs
Publication statusPublished - 2014 Dec 3
Event20th IEEE Pacific Rim International Symposium on Dependable Computing, PRDC 2014 - Singapore, Singapore
Duration: 2014 Nov 192014 Nov 21

Other

Other20th IEEE Pacific Rim International Symposium on Dependable Computing, PRDC 2014
CountrySingapore
CitySingapore
Period14/11/1914/11/21

Fingerprint

Forging
Linux
Virtual machine

Keywords

  • Device-Triggered Bug
  • Kernel Debug
  • Non-deterministic Bug
  • Virtual Machine Monitor

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Computer Science Applications
  • Hardware and Architecture
  • Software

Cite this

Kono, K., Miyahara, S., Yamada, H., & Yoshimura, T. (2014). FoxyFeed: Forging device-level asynchronous events for kernel development. In Proceedings of IEEE Pacific Rim International Symposium on Dependable Computing, PRDC (pp. 145-154). [6974781] IEEE Computer Society. https://doi.org/10.1109/PRDC.2014.25

FoxyFeed : Forging device-level asynchronous events for kernel development. / Kono, Kenji; Miyahara, Shunsuke; Yamada, Hiroshi; Yoshimura, Takeshi.

Proceedings of IEEE Pacific Rim International Symposium on Dependable Computing, PRDC. IEEE Computer Society, 2014. p. 145-154 6974781.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Kono, K, Miyahara, S, Yamada, H & Yoshimura, T 2014, FoxyFeed: Forging device-level asynchronous events for kernel development. in Proceedings of IEEE Pacific Rim International Symposium on Dependable Computing, PRDC., 6974781, IEEE Computer Society, pp. 145-154, 20th IEEE Pacific Rim International Symposium on Dependable Computing, PRDC 2014, Singapore, Singapore, 14/11/19. https://doi.org/10.1109/PRDC.2014.25
Kono K, Miyahara S, Yamada H, Yoshimura T. FoxyFeed: Forging device-level asynchronous events for kernel development. In Proceedings of IEEE Pacific Rim International Symposium on Dependable Computing, PRDC. IEEE Computer Society. 2014. p. 145-154. 6974781 https://doi.org/10.1109/PRDC.2014.25
Kono, Kenji ; Miyahara, Shunsuke ; Yamada, Hiroshi ; Yoshimura, Takeshi. / FoxyFeed : Forging device-level asynchronous events for kernel development. Proceedings of IEEE Pacific Rim International Symposium on Dependable Computing, PRDC. IEEE Computer Society, 2014. pp. 145-154
@inproceedings{037eea9791e2478a900f19ed7dacb1ea,
title = "FoxyFeed: Forging device-level asynchronous events for kernel development",
abstract = "Enhancing source code quality of operating systems (OSes) is an essential and endless task in communities of commodity OSes. Unfortunately, improving the quality of the kernel code is not trivial because the kernel is large and complex. In particular, asynchronous events from peripheral devices such as interrupts make the improvement quite hard due to their low reproducibility. This paper presents Foxy Feed, a mechanism based on virtual machine monitors that helps to fix bugs caused by asynchronous device-level events. Foxy Feed forges device-level events and injects them to a debuggee kernel at the timing specified in advance, and allows us to control the timing at which asynchronous events occur for the debugging purpose. Using our prototype implementation of Foxy Feed, which is based on Xen 4.1.0, we demonstrate that Foxy Feed reproduces failures caused by device-triggered bugs in Linux and gives significant clues to the root causes.",
keywords = "Device-Triggered Bug, Kernel Debug, Non-deterministic Bug, Virtual Machine Monitor",
author = "Kenji Kono and Shunsuke Miyahara and Hiroshi Yamada and Takeshi Yoshimura",
year = "2014",
month = "12",
day = "3",
doi = "10.1109/PRDC.2014.25",
language = "English",
isbn = "9781479964741",
pages = "145--154",
booktitle = "Proceedings of IEEE Pacific Rim International Symposium on Dependable Computing, PRDC",
publisher = "IEEE Computer Society",

}

TY - GEN

T1 - FoxyFeed

T2 - Forging device-level asynchronous events for kernel development

AU - Kono, Kenji

AU - Miyahara, Shunsuke

AU - Yamada, Hiroshi

AU - Yoshimura, Takeshi

PY - 2014/12/3

Y1 - 2014/12/3

N2 - Enhancing source code quality of operating systems (OSes) is an essential and endless task in communities of commodity OSes. Unfortunately, improving the quality of the kernel code is not trivial because the kernel is large and complex. In particular, asynchronous events from peripheral devices such as interrupts make the improvement quite hard due to their low reproducibility. This paper presents Foxy Feed, a mechanism based on virtual machine monitors that helps to fix bugs caused by asynchronous device-level events. Foxy Feed forges device-level events and injects them to a debuggee kernel at the timing specified in advance, and allows us to control the timing at which asynchronous events occur for the debugging purpose. Using our prototype implementation of Foxy Feed, which is based on Xen 4.1.0, we demonstrate that Foxy Feed reproduces failures caused by device-triggered bugs in Linux and gives significant clues to the root causes.

AB - Enhancing source code quality of operating systems (OSes) is an essential and endless task in communities of commodity OSes. Unfortunately, improving the quality of the kernel code is not trivial because the kernel is large and complex. In particular, asynchronous events from peripheral devices such as interrupts make the improvement quite hard due to their low reproducibility. This paper presents Foxy Feed, a mechanism based on virtual machine monitors that helps to fix bugs caused by asynchronous device-level events. Foxy Feed forges device-level events and injects them to a debuggee kernel at the timing specified in advance, and allows us to control the timing at which asynchronous events occur for the debugging purpose. Using our prototype implementation of Foxy Feed, which is based on Xen 4.1.0, we demonstrate that Foxy Feed reproduces failures caused by device-triggered bugs in Linux and gives significant clues to the root causes.

KW - Device-Triggered Bug

KW - Kernel Debug

KW - Non-deterministic Bug

KW - Virtual Machine Monitor

UR - http://www.scopus.com/inward/record.url?scp=84919487471&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84919487471&partnerID=8YFLogxK

U2 - 10.1109/PRDC.2014.25

DO - 10.1109/PRDC.2014.25

M3 - Conference contribution

AN - SCOPUS:84919487471

SN - 9781479964741

SP - 145

EP - 154

BT - Proceedings of IEEE Pacific Rim International Symposium on Dependable Computing, PRDC

PB - IEEE Computer Society

ER -