Fri 17 Jun 2022 02:10 - 02:30 at Kon-Tiki - Concurrency
Persistent memory (PM) technologies offer performance close to DRAM with persistence. Persistent memory enables programs to directly modify persistent data through normal load and store instructions bypassing heavyweight OS system calls for persistency. However, these stores are not made immediately made persistent, the developer must manually flush the corresponding cache lines to force the data to be written to persistent memory. While state-of-the-art testing tools can help developers find and fix persistency bugs, prior studies have shown fixing persistency bugs on average takes a couple of weeks for PM developers. The developer has to manually inspect the execution to identify the root cause of the problem. In addition, most of the existing state-of-the-art testing tools require heavy user annotations to detect bugs without visible symptoms such as a segmentation fault.
In this paper, we present robustness as a sufficient correctness condition to ensure that program executions arefree from missing flush bugs. We develop an algorithm for checking robustness and have implemented this algorithm in the PSan tool. PSan can help developers both identify silent data corruption bugs and localize bugs in large traces to the problematic memory operations that are missing flush operations. We have evaluated PSan on a set of concurrent indexes, persistent memory libraries, and two popular real-world applications. We found 48 bugs in these benchmarks that 17 of them were not reported before.
Thu 16 JunDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 14:50 | |||
13:30 20mTalk | A Flexible Type System for Fearless Concurrency PLDI Mae Milano University of California, Berkeley, Joshua Turcotti University of California, Berkeley, Andrew Myers Cornell University DOI | ||
13:50 20mTalk | A Study of Real-world Data Races in Golang PLDI DOI | ||
14:10 20mTalk | Checking Robustness to Weak Persistency Models PLDI Hamed Gorjiara University of California, Irvine, Weiyu Luo University of California, Irvine, Alex Lee University of California, Irvine, Guoqing Harry Xu University of California at Los Angeles, Brian Demsky University of California, Irvine DOI | ||
14:30 20mTalk | Sound Sequentialization for Concurrent Program Verification PLDI Azadeh Farzan University of Toronto, Dominik Klumpp University of Freiburg, Andreas Podelski University of Freiburg, Germany DOI File Attached |
Fri 17 JunDisplayed time zone: Pacific Time (US & Canada) change
01:30 - 02:50 | |||
01:30 20mTalk | A Flexible Type System for Fearless Concurrency PLDI Mae Milano University of California, Berkeley, Joshua Turcotti University of California, Berkeley, Andrew Myers Cornell University DOI | ||
01:50 20mTalk | A Study of Real-world Data Races in Golang PLDI DOI | ||
02:10 20mTalk | Checking Robustness to Weak Persistency Models PLDI Hamed Gorjiara University of California, Irvine, Weiyu Luo University of California, Irvine, Alex Lee University of California, Irvine, Guoqing Harry Xu University of California at Los Angeles, Brian Demsky University of California, Irvine DOI | ||
02:30 20mTalk | Sound Sequentialization for Concurrent Program Verification PLDI Azadeh Farzan University of Toronto, Dominik Klumpp University of Freiburg, Andreas Podelski University of Freiburg, Germany DOI File Attached |