Steven Costiou

dblp:198/7490 · DBLP profile ↗
← Back
9ranked-venue papers
2as first author
5since 2021 · last 2025
0000-0003-2787-5432ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 9 · 2 first-author · 5 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 since 2021
YearPublicationVenuePosition
2025 Divergence-Driven Debugging: Understanding Behavioral Changes Between Two Program Versions
abstract
Daily software changes present an inherent risk of introducing bugs. To understand such bugs, it is crucial to understand why specific changes introduced the bugs. This is difficult and time-consuming. We propose Divergence-Driven Debugging, an approach using a debugger for detecting execution divergences between two versions of the same program. Developers can explore both versions' execution in full and compare them based on the detected divergences. We evaluate our approach on a bug scenario and show that our debugger highlights the live state and behavior required to understand why the changes produce the bug and to identify its root cause.
Rémi Dufloer, Imen Sayar, Anne Etien, Steven Costiou
ICPC4
2024 Debugging Activity Blueprint
abstract
Empirically analyzing debugging activity is notoriously difficult. In particular, aggregating data (obtained from either observation or event logging) to verify hypotheses on developers' behavior is known to be challenging. Overall, the difficulty of studying debugging activities contributes to the need for more empirical evidence on how practitioners use debuggers. We propose debugging activity blueprint as a visual tool to analyze and navigate through all the events recorded in a programming environment. Our blueprint is a polymetric view representing the interaction between debuggers and other programming tools. Our blueprint highlights the flow of a debugging activity across the tools an IDE offers. An exploratory use case over three participants and two debugging tasks indicates that our blueprint supports a fine-grained analysis of complex debugging scenarios.
Valentin Bourcier, Alexandre Bergel, Anne Etien, Steven Costiou
VISSOFT4
2024 Scopeo: an Object-Centric Debugging Approach for Exploring Object-Oriented Programs
abstract
Debugging object-oriented programs requires understanding how objects interact with each other and how their state evolves during execution. It is an arduous activity, as there are no methods to support finding objects to debug and explore their interactions. In this paper we present Scopeo, a novel object-centric approach to explore objects and their interactions in object-oriented programs. We evaluate the performance of Scopeo and conclude its applicability to real debugging scenarios. We then open a discussion on the interest of this approach for future research into debugging and program comprehension.
Valentin Bourcier, Steven Costiou
SANER2
2022 Reflection as a Tool to Debug Objects
abstract
In this paper, we share our experience with using reflection as a systematic tool to build advanced debuggers. We illustrate the usage and combination of reflection techniques for the implementation of object-centric debugging. Object-centric debugging is a technique for object-oriented systems that scopes debugging operations to specific objects. The implementation of this technique is not straightforward, as there are, to the best of our knowledge, no description in the literature about how to build such debugger.
Steven Costiou, Vincent Aranega, Marcus Denker
SLE1
2021 Time-Traveling Debugging Queries: Faster Program Exploration
abstract
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 execution through standard interactive debuggers is a tedious and costly task. In this paper, we propose Time-Traveling Queries (TTQs) to ease program exploration. TTQs is a mechanism that automatically explores program executions to collect execution data. This 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 required time and efforts when performing program comprehension tasks.
Maximilian Willembrinck, Steven Costiou, Anne Etien, Stéphane Ducasse
QRS2
2020 15 Years of Reuse Experience in Evolutionary Prototyping for the Defense Industry
Pierre Laborde, Steven Costiou, Eric Le Pors, Alain Plantec
ICSR2
2019 Sindarin: a versatile scripting API for the Pharo debugger
abstract
Debugging is one of the most important and time consuming activities in software maintenance, yet mainstream debuggers are not well-adapted to several debugging scenarios. This has led to the research of new techniques covering specific families of complex bugs. Notably, recent research proposes to empower developers with scripting DSLs, plugin-based and moldable debuggers. However, these solutions are tailored to specific use-cases, or too costly for one-time-use scenarios. In this paper we argue that exposing a debugging scripting interface in mainstream debuggers helps in solving many challenging debugging scenarios. For this purpose, we present Sindarin, a scripting API that eases the expression and automation of different strategies developers pursue during their debugging sessions. Sindarin provides a GDB-like API, augmented with AST-bytecode-source code mappings and object-centric capabilities. To demonstrate the versatility of Sindarin, we reproduce several advanced breakpoints and non-trivial debugging mechanisms from the literature.
Thomas Dupriez, Guillermo Polito, Steven Costiou, Vincent Aranega, Stéphane Ducasse
DLS3
2018 A feature-oriented model-driven engineering approach for the early validation of feature-based applications
Glenn Cavarlé, Alain Plantec, Steven Costiou, Vincent Ribaud
Sci. Comput. Program.3
2018 Lub: A pattern for fine grained behavior adaptation at runtime
Steven Costiou, Mickaël Kerboeuf, Glenn Cavarlé, Alain Plantec
Sci. Comput. Program.1