Deterministic Replay of Program Execution Based on Valgrind Framework

Maksim Ryndin · Proceedings of the Spring/Summer young researchers' colloquium on software engineering · 2012

Deterministic replay is execution of the same sequence of instructions with the same arguments as at the first run.Developers spend a lot of time in trying to fix bugs in their software.Sometimes it is very difficult even to reproduce the bug.This often occurs in multithreaded applications.According to NIST[1] errors in software are estimated $59.5 billion annually.Therefore deterministic replay of program execution has become a problem of interests of many researches recently.Deterministic replay could help to solve the problem of bug reproduction and provide more abilities for program analysis.Valgrind is a framework for dynamic binary analysis.It provides infrastructure for translation and instrumentation of executable code.The goal of the work is to create a tool providing deterministic replay of program execution based on Valgrind infrastructure.

Read the paper · More papers on PaperTik