skip to main content
10.1109/ICSE-Companion.2019.00027acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

VeDebug: regression debugging tool for Java

Published: 25 May 2019 Publication History

Abstract

Developers spend substantial time debugging their programs, yet debugging is still one of the most tedious activities. Interactive debuggers have been around for as long as computing, but the way they are used---set a breakpoint, reason about the state, step into/over---has not substantially changed. The last big discoveries, which happened decades ago, include visual debugging (e.g., DDD) and time-travel debugging. Although existing interactive debugging tools provide useful and powerful features, they are limited to a single program execution, e.g., a developer can only see data values and navigate the control flow of a single program execution at a time.
We present VeDebug, the first video-based time-travel regression debugging tool to advance users' debugging experience. VeDebug introduces two unique features: (1) regression debugging, i.e., setting a "divergence breakpoint" (which "breaks" the execution whenever the control flow of the current execution diverges from the flow of a previously captured execution), and (2) video debugging, which provides features similar to those of a video player (e.g., speed up/slow down the replay). The demo video for VeDebug can be found at: https://www.youtube.com/watch?v=lOiGrE_sc10.

References

[1]
Afsoon Afzal and Claire Le Goues. A study on the use of IDE features for debugging. In MSR, pages 114--117, 2018.
[2]
Sanjay Bhansali, Wen-Ke Chen, Stuart de Jong, Andrew Edwards, Ron Murray, Milenko Drinić, Darek Mihočka, and Joe Chau. Framework for instruction-level tracing and analysis of program executions. In VEE, pages 154--163, 2006.
[3]
DDD - DataDisplay Debugger. https://www.gnu.org/software/ddd.
[4]
Google core libraries for Java. https://github.com/google/guava.
[5]
Zhongxian Gu, Earl T. Barr, Drew Schleck, and Zhendong Su. Reusing debugging knowledge via trace-based bug search. pages 927--942, 2012.
[6]
Zhongxian Gu, Drew Schleck, Earl T. Barr, and Zhendong Su. Capturing and exploiting IDE interactions. In Onward!, pages 83--94, 2014.
[7]
Andrew Jensen Ko and Brad A. Myers. Designing the Whyline: a debugging interface for asking questions about program behavior. In CHI, pages 151--158, 2004.
[8]
L. Layman, M. Diep, M. Nagappan, J. Singer, R. Deline, and G. Venolia. Debugging revisited: Toward understanding the debugging needs of contemporary software developers. In ESEM, pages 383--392, 2013.
[9]
Kivanc Muslu, Yuriy Brun, and Alexandra Meliou. Data debugging with continuous testing. In FSE, pages 631--634, 2013.
[10]
ncurses. https://www.gnu.org/software/ncurses.
[11]
Chris Parnin and Alessandro Orso. Are automated debugging techniques actually helping programmers? In ISSTA, pages 199--209, 2011.
[12]
Andreas Zeller. Yesterday, my program worked. Today, it does not. Why? In FSE, pages 253--267, 1999.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '19: Proceedings of the 41st International Conference on Software Engineering: Companion Proceedings
May 2019
369 pages

Sponsors

Publisher

IEEE Press

Publication History

Published: 25 May 2019

Check for updates

Qualifiers

  • Research-article

Conference

ICSE '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 45
    Total Downloads
  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media