Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2015, Volume 27, Issue 2, Pages 127–144
DOI: https://doi.org/10.15514/ISPRAS-2015-27(2)-8
(Mi tisp126)
 

Methods to improve reverse debugging performance

M. A. Klimushenkova, P. M. Dovgalyuk

Novgorod State University
References:
Abstract: Reverse debugging is software development technique that effectively helps to fix bugs caused by nondeterministic program behavior. Bug elimination usually includes multiple reruns of the program Program executions may be non-deterministic and the debugger may affect program’s behavior. Reverse debugging allows inspecting past program’s states without re-executing it. The paper describes implementation of software reverse debugging using deterministic replay based on the QEMU emulator. Our implementation of deterministic replay records high-level events (user and network input, CPU interrupts, USB and audio input). Record/replay subsystem saves these events into the log at the recording phase and reads them at the replaying phase. Therefore virtual machine is not connected to the real world in the replaying phase. We present ways to improve debugging performance by reducing saved data, using copy-on-write snapshots’ format and indexing/compressing of replay log. QEMU supports a common user interface for reverse debugging in GDB debugger which allows using reverse-continue (going back to the previous breakpoint or watchpoint), reverse-nexti, reverse-stepi (going back to the previous instruction), and reverse-finish (finding the point when function was called) commands. Time required for these commands’ execution depends on taking snapshots frequency in recording replay log. We evaluate shapshotting frequency to get the best reverse debugging performance. In our implementation optimal period for taking snapshots is 3.5 seconds. This paper also presents assessment of snapshots frequency for better performance.
Keywords: reverse debugging, deterministic replay, QEMU, emulator.
Bibliographic databases:
Document Type: Article
Language: Russian
Citation: M. A. Klimushenkova, P. M. Dovgalyuk, “Methods to improve reverse debugging performance”, Proceedings of ISP RAS, 27:2 (2015), 127–144
Citation in format AMSBIB
\Bibitem{KliDov15}
\by M.~A.~Klimushenkova, P.~M.~Dovgalyuk
\paper Methods to improve reverse debugging performance
\jour Proceedings of ISP RAS
\yr 2015
\vol 27
\issue 2
\pages 127--144
\mathnet{http://mi.mathnet.ru/tisp126}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(2)-8}
\elib{https://elibrary.ru/item.asp?id=23827850}
Linking options:
  • https://www.mathnet.ru/eng/tisp126
  • https://www.mathnet.ru/eng/tisp/v27/i2/p127
  • Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
    Statistics & downloads:
    Abstract page:141
    Full-text PDF :147
    References:28
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024