Time-Traveling Queries: Extensible Tools for Faster Program Comprehension
By: Valentin Bourcier, Maximilian Willembrinck, Adrien Vanègue, Stéphane Ducasse, Anne Etien, Steven Costiou
Abstract
Debugging programs requires program comprehension. To acquire this comprehension, developers explore the program execution, often using interactive debuggers. However, exploring a program execution through standard interactive debuggers is tedious and costly, especially in domain-specific contexts. This paper proposes Time-Traveling Queries (TTQs), an extensible mechanism to ease and customize program exploration. TTQs automatically explore program executions to collect execution data, enabling developers to time-travel through execution states and facilitating program exploration. We evaluate TTQs with a user study involving 34 participants performing program comprehension tasks. Results show TTQs improve developers’ precision (39% more correct answers), reduce time (27% faster), and lower effort (45% fewer debugging actions) compared to traditional debugging tools.
Keywords
Time-Traveling Debugging, Debugging, Debugging Queries, Domain-Specific Debuggers
Cite as:
Valentin Bourcier, Maximilian Willembrinck, Adrien Vanègue, Stéphane Ducasse, Anne Etien, Steven Costiou, “Time-Traveling Queries: Extensible Tools for Faster Program Comprehension”, Journal of Object Technology, Volume 23, no. 1 ( 2024), pp. 1-25, doi:10.5381/jot.2024.23.1.a7.
PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn