Accès ouvert

An interactive debugging approach based on time-traveling queries

Thèse 2023 Anglais

Résumé

Debugging is an indispensable part of software development, often consuming a significant amount of time and resources.Efficiently debugging a program requires program comprehension.To acquire it, developers explore the program execution, a task often performed using interactive debuggers.Unfortunately, exploring a program's execution through standard interactive debuggers is a tedious and costly task.We propose Time-traveling Queries (TTQs) to ease interactive program exploration.TTQs is a mechanism that automatically explores program executions using a time-traveling debugger to collect execution data.This mechanism enables a new debugging approach, where the collected data is used to time-travel through execution states, facilitating the exploration of program executions.We built a set of key TTQs based on typical questions developers ask when trying to understand programs.We conducted a user study with 34 participants to evaluate the impact of our queries on program comprehension activities.Results show that, compared to traditional debugging tools, TTQs significantly improve developers' precision while reducing the time and effort required to perform program comprehension tasks, allowing for a more efficient debugging process.While our TTQs-based debugging approach shows promising results in improving interactive debugging problems, it requires a time-traveling debugger to operate.However, debuggers of such kind are not available in all systems.In systems where multiple programs run in shared memory, time-traveling debuggers face the challenge of precisely scoping time-travel operations.This presents a critical difficulty that limits the applicability of time-traveling debuggers to these systems.To investigate this difficulty, we study the essential properties required to apply time-traveling solutions to this type of system.From these properties, we introduced two time-traveling debuggers for Pharo, a shared memory system.We evaluated the importance of these properties through two experiments, demonstrating their significance in performing precise time-traveling operations.Furthermore, we analyze existing solutions to assess their applicability to shared memory systems.

Citer ce document

Santander, M. (2023). An interactive debugging approach based on time-traveling queries.

Accès au document

Voir sur le dépôt source

Ce document est hébergé sur son dépôt institutionnel d'origine.

Statistiques

Consultations : 2

Téléchargements : 0