Debugging Nondeterministic Failures in Linux Programs through Replay Analysis

被引:0
|
作者
Majeed, Shakaiba [1 ]
Ryu, Minsoo [2 ]
机构
[1] Hanyang Univ, Dept Comp & Software, Seoul 04763, South Korea
[2] Hanyang Univ, Dept Comp Sci & Engn, Seoul 04763, South Korea
关键词
DATA RACES; EXECUTION;
D O I
10.1155/2018/8939027
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Reproducing a failure is the first and most important step in debugging because it enables us to understand the failure and track down its source. However, many programs are susceptible to nondeterministic failures that are hard to reproduce, which makes debugging extremely difficult. We first address the reproducibility problem by proposing an OS-level replay system for a uniprocessor environment that can capture and replay nondeterministic events needed to reproduce a failure in Linux interactive and event-based programs. We then present an analysis method, called replay analysis, based on the proposed record and replay system to diagnose concurrency bugs in such programs. The replay analysis method uses a combination of static analysis, dynamic tracing during replay, and delta debugging to identify failure-inducing memory access patterns that lead to concurrency failure. The experimental results show that the presented record and replay system has low-recording overhead and hence can be safely used in production systems to catch rarely occurring bugs. We also present few concurrency bug case studies from real-world applications to prove the effectiveness of the proposed bug diagnosis framework.
引用
收藏
页数:11
相关论文
共 50 条
  • [1] DEBUGGING PARALLEL PROGRAMS WITH INSTANT REPLAY
    LEBLANC, TJ
    MELLORCRUMMEY, JM
    IEEE TRANSACTIONS ON COMPUTERS, 1987, 36 (04) : 471 - 482
  • [2] RDE: Replay DEbugging for Diagnosing Production Site Failures
    Wang, Peipei
    Hiep Nguyen
    Gu, Xiaohui
    Lu, Shan
    PROCEEDINGS OF 2016 IEEE 35TH SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS (SRDS), 2016, : 327 - 336
  • [3] Instant replay debugging of concurrent logic programs
    Univ of Manchester, Manchester, United Kingdom
    New Gener Comput, 1 (79-107):
  • [4] Replay-based debugging of Occan programs
    Cimitile, A.
    De Carlini, U.
    Villano, U.
    Software Testing Verification and Reliability, 1993, 3 (02) : 83 - 100
  • [5] Instant replay debugging of concurrent logic programs
    Shen, K
    Gregory, S
    NEW GENERATION COMPUTING, 1996, 14 (01) : 79 - 107
  • [6] DEBUGGING PARALLEL PROGRAMS WITH INSTANT REPLAY.
    LeBlanc, Thomas J.
    Mellor-Crummey, John M.
    IEEE Transactions on Computers, 1987, C-36 (04) : 471 - 482
  • [7] Shortcut replay:: A replay technique for debugging long-running parallel programs
    Thoai, N
    Kranzlmüller, D
    Volkert, J
    ADVANCES IN COMPUTING SCIENCE-ASIAN 2002: INTERNET-COMPUTING AND MODELING, GRID COMPUTING, PEER-TO-PEER COMPUTING, AND CLUSTER COMPUTING, 2002, 2550 : 34 - 46
  • [8] INTERRUPT REPLAY - A DEBUGGING METHOD FOR PARALLEL PROGRAMS WITH INTERRUPTS
    AUDENAERT, KMR
    LEVROUW, LJ
    MICROPROCESSORS AND MICROSYSTEMS, 1994, 18 (10) : 601 - 612
  • [9] Causal-Consistent Replay Debugging for Message Passing Programs
    Lanese, Ivan
    Palacios, Adrian
    Vidal, German
    FORMAL TECHNIQUES FOR DISTRIBUTED OBJECTS, COMPONENTS, AND SYSTEMS (FORTE 2019), 2019, 11535 : 167 - 184
  • [10] Debugging shared memory parallel programs using record/replay
    Ronsse, M
    Christiaens, M
    De Bosschere, K
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2003, 19 (05): : 679 - 687