Cooperative Empirical Failure Avoidance for Multithreaded Programs

被引:16
|
作者
Lucia, Brandon [1 ]
Ceze, Luis [1 ]
机构
[1] Univ Washington, Dept Comp Sci & Engn, Seattle, WA 98195 USA
基金
美国国家科学基金会;
关键词
Algorithms; Reliability; concurrency; cooperative failure avoidance;
D O I
10.1145/2499368.2451121
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Concurrency errors in multithreaded programs are difficult to find and fix. We propose Aviso, a system for avoiding schedule-dependent failures. Aviso monitors events during a program's execution and, when a failure occurs, records a history of events from the failing execution. It uses this history to generate schedule constraints that perturb the order of events in the execution and thereby avoids schedules that lead to failures in future program executions. Aviso leverages scenarios where many instances of the same software run, using a statistical model of program behavior and experimentation to determine which constraints most effectively avoid failures. After implementing Aviso, we showed that it decreased failure rates for a variety of important desktop, server, and cloud applications by orders of magnitude, with an average overhead of less than 20% and, in some cases, as low as 5%.
引用
收藏
页码:39 / 50
页数:12
相关论文
共 50 条
  • [41] SingleTrack: A Dynamic Determinism Checker for Multithreaded Programs
    Sadowski, Caitlin
    Freund, Stephen N.
    Flanagan, Cormac
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2009, 5502 : 394 - +
  • [42] Program Visualization for Debugging Deadlocks in Multithreaded Programs
    Kim, Byung-Chul
    Jun, Yong-Kee
    [J]. ADVANCES IN SOFTWARE ENGINEERING, 2010, 117 : 228 - 236
  • [43] Assertion Guided Symbolic Execution of Multithreaded Programs
    Guo, Shengjian
    Kusano, Markus
    Wang, Chao
    Yang, Zijiang
    Gupta, Aarti
    [J]. 2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 854 - 865
  • [44] An Intelligent Deadlock Locating Scheme for Multithreaded Programs
    Li, Jiaqi
    Liu, Xiaodong
    Jiang, Linxuan
    Liu, Buquan
    Yang, Zhaojun
    Hu, Xianlang
    [J]. 2019 3RD INTERNATIONAL CONFERENCE ON INTELLIGENT SYSTEMS, METAHEURISTICS & SWARM INTELLIGENCE (ISMSI 2019), 2019, : 14 - 18
  • [45] Asserting and Checking Determinism for Multithreaded Programs (Reprinted)
    Burnim, Jacob
    Sen, Koushik
    [J]. COMMUNICATIONS OF THE ACM, 2010, 53 (06) : 97 - 105
  • [46] Platform Independent Analysis of Probabilities on Multithreaded Programs
    Chen, Yuting
    Key, Shanghai
    [J]. INTERNATIONAL JOURNAL OF SOFTWARE INNOVATION, 2013, 1 (03) : 48 - 65
  • [47] Exception analysis for multithreaded Java']Java programs
    Ryu, SY
    Yi, KK
    [J]. SECOND ASIA-PACIFIC CONFERENCE ON QUALITY SOFTWARE, PROCEEDINGS, 2001, : 23 - 30
  • [48] Variation Aware Cache Partitioning for Multithreaded Programs
    Kozhikkottu, Vivek
    Pan, Abhisek
    Pai, Vijay
    Dey, Sujit
    Raghunathan, Anand
    [J]. 2014 51ST ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2014,
  • [49] Specifying and Checking Semantic Atomicity for Multithreaded Programs
    Burnim, Jacob
    Necula, George
    Sen, Koushik
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (03) : 79 - 90
  • [50] Verifying Multithreaded Recursive Programs with Integer Variables
    Ben Rajeb, Narjes
    Nasraoui, Brahim
    Robbana, Riadh
    Touili, Tayssir
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 239 : 143 - 154