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

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact