Dynamic data race detection has emerged as a key technique for ensuring reliability of concurrent software in practice. However, dynamic approaches can often miss data races owing to non-determinism in the thread scheduler. Predictive race detection techniques cater to this shortcoming by trying to infer alternate executions that may expose data races without re-executing the underlying program. More formally, the dynamic data race prediction problem asks, given a trace $\sigma$ of an execution of a concurrent program, can $\sigma$ be correctly reordered to expose a data race? Existing state-of-the art techniques for data race prediction either do not scale to executions arising from real world concurrent software, or only expose a limited class of data races, such as those that can be exposed without reversing the order of synchronization operations.
In general, exposing data races by reasoning about synchronization reversals is an intractable problem. In this work, we identify a class of data races, called Optimistic Sync(hronization)-Reversal races that can be detected in a tractable manner and often include non-trivial data races that cannot be exposed by prior tractable techniques. We also propose a sound algorithm $\mathsf{OSR}$ for detecting all optimistic sync-reversal data races in overall quadratic time, and show that the algorithm is optimal by establishing a matching lower bound. Our experiments demonstrate the effectiveness of $\mathsf{OSR}$ — on our extensive suite of benchmarks, $\mathsf{OSR}$ reports the largest number of data races, and is scales well to large execution traces.
Note: Proofs of theorems and lemmas, and some detailed evaluation report are deferred to appendix (supplementary material). Further, link to anonymous source code of our tool is provided in the field “Information about Available Data / Artifacts”.
Wed 17 AprDisplayed time zone: Lisbon change
16:00 - 17:30 | Testing: various bug types 1Research Track / Software Engineering in Practice at Eugénio de Andrade Chair(s): June Sallou Delft University of Technology | ||
16:00 15mTalk | CERT: Finding Performance Issues in Database Systems Through the Lens of Cardinality Estimation Research Track Pre-print | ||
16:15 15mTalk | Optimistic Prediction of Synchronization-Reversal Data Races Research Track Zheng Shi National University of Singapore, Umang Mathur National University of Singapore, Andreas Pavlogiannis Aarhus University | ||
16:30 15mTalk | Mozi: Discovering DBMS Bugs via Configuration-Based Equivalent Transformation Research Track Jie Liang , Zhiyong Wu Tsinghua University, China, Jingzhou Fu School of Software, Tsinghua University, Mingzhe Wang Tsinghua University, Chengnian Sun University of Waterloo, Yu Jiang Tsinghua University | ||
16:45 15mTalk | FlakeSync: Automatically Repairing Async Flaky Tests Research Track | ||
17:00 15mTalk | Testing the Limits: Unusual Text Inputs Generation for Mobile App Crash Detection with Large Language Model Research Track Zhe Liu Institute of Software, Chinese Academy of Sciences, Chunyang Chen Technical University of Munich (TUM), Junjie Wang Institute of Software, Chinese Academy of Sciences, Mengzhuo Chen Institute of Software, Chinese Academy of Sciences, Boyu Wu University of Chinese Academy of Sciences, Beijing, China, Zhilin Tian Pennsylvania State University, Yuekai Huang Institute of Software, Chinese Academy of Sciences, Jun Hu Institute of Software, Chinese Academy of Sciences, Qing Wang Institute of Software, Chinese Academy of Sciences | ||
17:15 15mTalk | AutoConsis: Automatic GUI-driven Data Inconsistency Detection of Mobile Apps Software Engineering in Practice Yongxiang Hu Fudan University, Hailiang Jin Meituan Inc., Xuan Wang Fudan University, Jiazhen Gu The Chinese University of Hong Kong, Shiyu Guo Meituan, Chaoyi Chen Meituan, Xin Wang Fudan University, Yangfan Zhou Fudan University |