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 条
  • [41] Computer security analysis through decompilation and high-level debugging
    Cifuentes, C
    Waddington, T
    Van Emmerik, M
    EIGHTH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS, 2001, : 375 - 380
  • [42] Supporting parallel program debugging through control and data how analysis
    Kranzlmüller, D
    Christanell, A
    Volkert, J
    PARALLEL COMPUTING: FUNDAMENTALS, APPLICATIONS AND NEW DIRECTIONS, 1998, 12 : 303 - 310
  • [43] Learning through business games - an analysis of successes and failures
    Gonen, A.
    Brill, E.
    Frank, M.
    ON THE HORIZON, 2009, 17 (04) : 356 - +
  • [44] EVALUATION OF COMPOSITE FAILURES THROUGH FRACTURE SIGNAL ANALYSIS
    MULLIN, JV
    MEHAN, RL
    JOURNAL OF TESTING AND EVALUATION, 1973, 1 (03) : 215 - 219
  • [45] A Delta-Debugging Approach to Assessing the Resilience of Actor Programs through Run-time Test Perturbations
    De Bleser, Jonas
    Di Nucci, Dario
    De Roover, Coen
    2020 IEEE/ACM 15TH INTERNATIONAL CONFERENCE ON AUTOMATION OF SOFTWARE TEST, AST, 2020, : 21 - 30
  • [46] ReVirt: Enabling intrusion analysis through virtual-machine logging and replay
    Dunlap, GW
    King, ST
    Cinar, S
    Basrai, MA
    Chen, PM
    USENIX ASSOCIATION PROCEEDINGS OF THE FIFTH SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, 2002, : 211 - 224
  • [47] Debugging experiment machinery through time-course event sequence analysis
    Reynolds, Christopher R. (cr308@imperial.ac.uk), 1600, Institution of Engineering and Technology, United States (01):
  • [48] Application of the Linux cluster for exhaustive window haplotype analysis using the FBAT and Unphased programs
    Mishima, Hiroyuki
    Lidral, Andrew C.
    Ni, Jun
    BMC BIOINFORMATICS, 2008, 9 (Suppl 6)
  • [49] Application of the Linux cluster for exhaustive window haplotype analysis using the FBAT and Unphased programs
    Hiroyuki Mishima
    Andrew C Lidral
    Jun Ni
    BMC Bioinformatics, 9
  • [50] Root Cause Analysis of Failures in Microservices through Causal Discovery
    Ikram, Azam
    Chakraborty, Sarthak
    Mitra, Subrata
    Saini, Shiv Kumar
    Bagchi, Saurabh
    Kocaoglu, Murat
    ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 35, NEURIPS 2022, 2022,