Open PhD Position at University of Rennes

Agentic AI and Live Programming for Exploring and Optimizing Extra-Functional Properties in Software Systems (CLEM - PhD Univ. Rennes)

Context

Modern live programming environments provide immediate feedback on functional correctness through continuous re-execution of code as the developer edits. While effective for rapid prototyping and understanding behavior, current tools are limited to functional traces and do not support informed decision-making about extra-functional properties such as energy usage, memory footprint, or execution performances. Optimizing these properties is a complex, multi-objective search process, where trade-offs are difficult to explore manually due to the size of the design space and insufficient visibility during development.

This PhD aims to shape the future of Integrated Development Environments (IDEs) by extending live programming paradigms to incorporate continuous awareness, exploration, and optimization of extra-functional properties. The objective is to provide real-time, actionable feedback that reveals the consequences of code changes across multiple performance dimensions, supported by agentic AI that can autonomously explore alternative implementations. The vision is an IDE where extra-functional evaluation becomes a first-class, live experience integrated into the developer’s workflow rather than a post-hoc profiling activity.

Objectives

The research will generalize live programming beyond functional traces by introducing mechanisms for continuous profiling and prediction of extra-functional metrics. This includes lightweight runtime instrumentation, integration of external tools (profilers, simulators, static analyzers), and predictive models that estimate performance impacts without requiring full re-execution. Interfaces will be designed to show energy costs, memory usage, and performance trade-offs directly within the editor using visual indicators, ranked alternatives, and contextual explanations. Developers will be able to explore “what-if” scenarios, compare code variants, and understand optimization opportunities without leaving the live programming loop.

The main research questions are the following:

  • How can live programming continuously capture and visualize extra-functional properties relevant to developers?
  • What interaction models best support the exploration of multi-dimensional trade-offs during coding?
  • How can agentic AI autonomously explore and propose alternative implementations that improve extra-functional metrics?
  • What abstractions and recommendation mechanisms provide useful guidance without overwhelming the developer?
  • How can external analytical tools be integrated into live feedback loops without compromising interactivity?

Environment

The candidate will be involved in the DiverSE team, joint to the CNRS (IRISA) and Inria. The DiverSE team is located in Rennes, France. DiverSE’s research is in the area of software engineering. The team is actively involved in European, French and industrial projects and is composed of 13 faculty members, 20 PhD students, 4 post-docs and 3 engineers. The main advisors of the PhD thesis will be Prof. Benoit Combemale (University of Rennes 1, DiverSE team), Prof. Mathieu Acher (INSA Rennes, DiverSE team), and Dr. Djamel E. Khelladi (CNRS, DiverSE team). The candidate will register to the doctoral school in computer science of the University of Rennes.

The PhD research project is funded by the ANR/FWF Project CLEM, in strong collaboration with the group of Prof. Manuel Wimmer at JKU (Austria).

References

  • Philémon Houdaille, Djamel Eddine Khelladi, Benoît Combemale, Gunter Mussbacher, Tijs van der Storm: PolyDebug: A Framework for Polyglot Debugging. Art Sci. Eng. Program. 10(1) (2025)
  • Mojtaba Bagherzadeh, Karim Jahed, Benoît Combemale, Juergen Dingel: Live modeling in the context of state machine models and code generation. Softw. Syst. Model. 20(3): 795-819 (2021)
  • Jean-Baptiste Döderlein, Riemer van Rozen, Tijs van der Storm: LiveRec: Prototyping Probes by Framing Debug Protocols. Art Sci. Eng. Program. 8(3) (2024)
  • Sean McDirmid: Usable live programming. Onward! 2013: 53-62