A Randomized Scheduler with Probabilistic Guarantees of Finding Bugs

被引:0
|
作者
Burckhardt, Sebastian [1 ]
Kothari, Pravesh
Musuvathi, Madanlal [1 ]
Nagarakatte, Santosh
机构
[1] Microsoft Res, Redmond, WA 98052 USA
关键词
Concurrency; Race Conditions; Randomized Algorithms; Testing;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
This paper presents a randomized scheduler for finding concurrency bugs. Like current stress-testing methods, it repeatedly runs a given test program with supplied inputs. However, it improves on stress-testing by finding buggy schedules more effectively and by quantifying the probability of missing concurrency bugs. Key to its design is the characterization of the depth of a concurrency bug as the minimum number of scheduling constraints required to find it. In a single run of a program with n threads and k steps, our scheduler detects a concurrency bug of depth d with probability at least 1/nk(d-1). We hypothesize that in practice, many concurrency bugs (including well-known types such as ordering errors, atomicity violations, and deadlocks) have small bug-depths, and we confirm the efficiency of our schedule randomization by detecting previously unknown and known concurrency bugs in several production-scale concurrent programs.
引用
收藏
页码:167 / 178
页数:12
相关论文
共 50 条
  • [1] A Randomized Scheduler with Probabilistic Guarantees of Finding Bugs
    Burckhardt, Sebastian
    Kothari, Pravesh
    Musuvathi, Madanlal
    Nagarakatte, Santosh
    ACM SIGPLAN NOTICES, 2010, 45 (03) : 167 - 178
  • [2] Randomized Testing of Distributed Systems with Probabilistic Guarantees
    Ozkan, Burcu Kulahcioglu
    Majumdar, Rupak
    Niksic, Filip
    Befrouei, Mitra Tabaei
    Weissenbacher, Georg
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
  • [3] FINDING THE BUGS
    VERITY, JW
    DATAMATION, 1982, 28 (12): : 87 - 87
  • [4] Finding environment guarantees
    Chechik, Marsha
    Gheorghiu, Mihacla
    Gurfinkel, Arie
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, PROCEEDINGS, 2007, 4422 : 352 - +
  • [5] Finding bugs is easy
    Hovemeyer, D
    Pugh, W
    ACM SIGPLAN NOTICES, 2004, 39 (12) : 92 - 106
  • [6] PROBABILISTIC GUARANTEES IN ROBUST OPTIMIZATION
    Bertsimas, Dimitris
    den Hertog, Dick
    Pauphilet, Jean
    SIAM JOURNAL ON OPTIMIZATION, 2021, 31 (04) : 2893 - 2920
  • [7] Finding Semantic Bugs Fast
    Graetz, Lukas
    Haehnle, Reiner
    Bubel, Richard
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, FASE 2022, 2022, 13241 : 145 - 154
  • [8] Finding typing compiler bugs
    Chaliasos, Stefanos
    Sotiropoulos, Thodoris
    Spinellis, Diomidis
    Gervais, Arthur
    Livshits, Benjamin
    Mitropoulos, Dimitris
    Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2022, : 183 - 198
  • [9] Finding Typing Compiler Bugs
    Chaliasos, Stefanos
    Sotiropoulos, Thodoris
    Spinellis, Diomidis
    Gervais, Arthur
    Livshits, Benjamin
    Mitropoulos, Dimitris
    PROCEEDINGS OF THE 43RD ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '22), 2022, : 183 - 198
  • [10] A Probabilistic Scheduler for the Analysis of Cryptographic Protocols
    Brlek, Srecko
    Hamadou, Sardaouna
    Mullins, John
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 194 (01) : 61 - 83