Skip to main navigation Skip to search Skip to main content

Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value Stores

  • Xinwei Fu
  • , Wook Hee Kim
  • , Ajay Paddayuru Shreepathi
  • , Mohannad Ismail
  • , Sunny Wadkar
  • , Dongyoon Lee
  • , Changwoo Min
  • Virginia Polytechnic Institute and State University
  • Stony Brook University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

35 Scopus citations

Abstract

The advent of non-volatile main memory (NVM) enables the development of crash-consistent software without paying storage stack overhead. However, building a correct crash-consistent program remains very challenging in the presence of a volatile cache. This paper presents Witcher, a systematic crash consistency testing framework, which detects both correctness and performance bugs in NVM-based persistent key-value stores and underlying NVM libraries, without test space explosion and without manual annotations or crash consistency checkers. To detect correctness bugs, Witcher automatically infers likely correctness conditions by analyzing data and control dependencies between NVM accesses. Then Witcher validates if any violation of them is a true crash consistency bug by checking output equivalence between executions with and without a crash. Moreover, Witcher detects performance bugs by analyzing the execution traces. Evaluation with 20 NVM key-value stores based on Intel's PMDK library shows that Witcher discovers 47 (36 new) correctness consistency bugs and 158 (113 new) performance bugs in both applications and PMDK.

Original languageEnglish
Title of host publicationSOSP 2021 - Proceedings of the 28th ACM Symposium on Operating Systems Principles
PublisherAssociation for Computing Machinery, Inc
Pages100-115
Number of pages16
ISBN (Electronic)9781450387095
DOIs
StatePublished - Oct 26 2021
Event28th ACM Symposium on Operating Systems Principles, SOSP 2021 - Virtual, Online, Germany
Duration: Oct 26 2021Oct 29 2021

Publication series

NameSOSP 2021 - Proceedings of the 28th ACM Symposium on Operating Systems Principles

Conference

Conference28th ACM Symposium on Operating Systems Principles, SOSP 2021
Country/TerritoryGermany
CityVirtual, Online
Period10/26/2110/29/21

Keywords

  • Crash Consistency
  • Debugging
  • Non-volatile Memory
  • Testing

Fingerprint

Dive into the research topics of 'Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value Stores'. Together they form a unique fingerprint.

Cite this