267 251

Debugging Nondeterministic Failures in Linux Programs through Replay Analysis

Title
Debugging Nondeterministic Failures in Linux Programs through Replay Analysis
Author
유민수
Keywords
DATA RACES; EXECUTION
Issue Date
2018-04
Publisher
HINDAWI LTD
Citation
SCIENTIFIC PROGRAMMING, Article no. 8939027
Abstract
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.
URI
https://www.hindawi.com/journals/sp/2018/8939027/https://repository.hanyang.ac.kr/handle/20.500.11754/118271
ISSN
1058-9244; 1875-919X
DOI
10.1155/2018/8939027
Appears in Collections:
COLLEGE OF ENGINEERING[S](공과대학) > COMPUTER SCIENCE(컴퓨터소프트웨어학부) > Articles
Files in This Item:
Debugging Nondeterministic Failures in Linux Programs through Replay Analysis.pdfDownload
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE