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 条
  • [21] EXPERTISE IN DEBUGGING COMPUTER-PROGRAMS - A PROCESS ANALYSIS
    VESSEY, I
    INTERNATIONAL JOURNAL OF MAN-MACHINE STUDIES, 1985, 23 (05): : 459 - 494
  • [22] Debugging GPU Stream Programs Through Automatic Dataflow Recording and Visualization
    Hou, Qiming
    Zhou, Kun
    Guo, Baining
    ACM TRANSACTIONS ON GRAPHICS, 2009, 28 (05): : 1 - 11
  • [23] A replay system for performance analysis of multi-threaded programs
    Key Laboratory of Services Computing Technology and System, Ministry of Education, Huazhong University of Science and Technology, Wuhan
    430074, China
    Jisuanji Yanjiu yu Fazhan, 1 (45-55):
  • [24] Ahead of time static analysis for automatic generation of debugging interfaces to the Linux kernel
    Tegawendé F. Bissyandé
    Laurent Réveillère
    Julia L. Lawall
    Gilles Muller
    Automated Software Engineering, 2016, 23 : 3 - 41
  • [25] Ahead of time static analysis for automatic generation of debugging interfaces to the Linux kernel
    Bissyande, Tegawende F.
    Reveillere, Laurent
    Lawall, Julia L.
    Muller, Gilles
    AUTOMATED SOFTWARE ENGINEERING, 2016, 23 (01) : 3 - 41
  • [26] Analysis of Stochastic Processes through Replay Buffers
    Shashua, Shirli Di Castro
    Mannor, Shie
    Di Castro, Dotan
    INTERNATIONAL CONFERENCE ON MACHINE LEARNING, VOL 162, 2022,
  • [27] Fuzzy logic aids analysis and debugging of device test programs
    Ma, Yuhai
    Chinese Journal of Electronics, 1998, 7 (03): : 228 - 233
  • [28] PREMATURITY PREVENTION PROGRAMS - AN ANALYSIS OF SUCCESSES AND FAILURES
    FANGMAN, JJ
    MARK, PM
    PRATT, L
    CONWAY, KK
    HEALEY, ML
    OSWALD, JW
    UDEN, DL
    AMERICAN JOURNAL OF OBSTETRICS AND GYNECOLOGY, 1994, 170 (03) : 744 - 750
  • [29] Pin Play: A Framework for Deterministic Replay and Reproducible Analysis of Parallel Programs
    Patil, Harish
    Pereira, Cristiano
    Stallcup, Mack
    Lueck, Gregory
    Cownie, James
    CGO 2010: THE EIGHTH INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, PROCEEDINGS, 2010, : 2 - 11
  • [30] An Efficient Greybox Fuzzing Scheme for Linux-based IoT Programs Through Binary Static Analysis
    Zheng, Yaowen
    Song, Zhanwei
    Sun, Yuyan
    Cheng, Kai
    Zhu, Hongsong
    Sun, Limin
    2019 IEEE 38TH INTERNATIONAL PERFORMANCE COMPUTING AND COMMUNICATIONS CONFERENCE (IPCCC), 2019,