Hello,
we have a PhD position opening at Lille, France.
See all details here:
https://recrutement.inria.fr/public/classic/fr/offres/2024-07154
Steven.
Summary of the research proposal:
###
Application development inevitably introduces bugs. Often, it's
not clear why a code change introduced a bug. To find this
cause-and-effect relationship and debug more efficiently,
developers can sometimes rely on the existence of a previous
version of the code without the bug. Yet, traditional debugging
tools are not designed for this kind of work, making it a
tedious operation.
In this thesis, we propose an approach that enables us to
understand and to debug an application in a live system,
such as Pharo or Python, by comparing two executions with
different results: one execution succeeds and the other fails.
Based on this hypothesis, we propose in this thesis to answer
the following challenges:
- How to detect divergence, i.e. different behavior between two
executions of a program?
- How can we reduce the cost in time, memory and energy
consumption of detecting divergence(s) on long executions?
- What are the criteria for deciding whether a divergence is
normal or unauthorized?
- What about detecting multiple divergences in the same program?
- What abstractions are needed to compare two executions of a
program and detect divergences?
��
To meet these challenges, in addition to a precise
state-of-the-art on debugging techniques, the PhD student will
study concrete cases of program execution and propose a tool to
be integrated into Pharo.