Theses and Student (or Team) Projects
If you are a student, interested in doing a thesis (Bachelor or master thesis) or project with us, please check first which topics interest you and then follow the guidelines of joining theses under Teaching of the Software Engineering group.
If none of the projects interests you, but the topics in general interest you, feel free to contact me.
Green Software Engineering/
Software Sustainability - How can we make use of design science to embed energy awareness into developer/
user's workflows? - How to find energy anti-patterns in source code?
- How can we support developers with a greenIT dashboard in their IDEs?
- In this project, we want to make teams aware of it by having a dashboard, called a “green teams” dashboard, where SE teams see some relevant metrics related to their work, and personalized suggestions for improvements/
initiatives. Different teams could compete against each other. The initiatives could be specific to coding, general computer work (e.g., using a less resource-hungry browser), or general work (e.g., reducing the environmental impact of commuting). - Tasks:
- Find metrics for Web development systems
- Design a dashboard to present the metrics
- Gamify the dashboard for various teams
- Tasks:
- In this project, we want to make teams aware of it by having a dashboard, called a “green teams” dashboard, where SE teams see some relevant metrics related to their work, and personalized suggestions for improvements/
- How can we encourage users in using a sustainability-aware LLM chatbots?
- AI chatbots are now widely used in both personal and professional settings. However, many still suffer from limited interaction design and lack support for features such as prompt history search, autocompletion, or context-sensitive prompting. Moreover, each interaction with a large language model (LLM) consumes energy, raising questions around the sustainability of AI-driven conversations. In earlier project phases, students: (i) Surveyed user awareness of chatbot sustainability, (ii) Built a prototype chatbot and dashboard to estimate interaction energy use and adapt model selection by prompt type, (iii) Validated how energy visibility influences user behavior and awareness.
- The next phase will focus on minimizing unnecessary prompts, equipping users with efficient communication tools, and enhancing analytics to encourage sustainable usage. ey objectives include:
- Introducing reusable, editable, and auto-completing prompt templates to support accurate and complete prompt formulation.
- Reducing back-and-forth interactions.
- Expanding the sustainability dashboard with detailed analytics.
- Exploring ways to raise awareness of the resource impact of prompting habits, such as integrating nudges or feedback mechanisms.
- We will address the following central questions:
- Prompt Design Optimization: What features (e.g., prompt templates, suggestions, auto-fixes) can help users reduce the number of interactions while maintaining response quality?
- User Guidance & Feedback: How can the chatbot interface guide users toward more sustainable and efficient usage patterns without limiting creativity or expressiveness?
- Visualization & Insights: What additional information should the dashboard display to provide users with meaningful insights into their prompting behavior and its impact?
- Behavioral Impact Evaluation: How can the effectiveness of these features be measured in terms of prompt reduction, user satisfaction, and sustainability awareness?
- Technologies: Frontend: Angular, Backend: Python, LLM API Integration (OpenAI, HuggingFace, or locally hosted models), Visualization: Plotly, D3.js, or Chart.js for analytics dashboard
- The next phase will focus on minimizing unnecessary prompts, equipping users with efficient communication tools, and enhancing analytics to encourage sustainable usage. ey objectives include:
- AI chatbots are now widely used in both personal and professional settings. However, many still suffer from limited interaction design and lack support for features such as prompt history search, autocompletion, or context-sensitive prompting. Moreover, each interaction with a large language model (LLM) consumes energy, raising questions around the sustainability of AI-driven conversations. In earlier project phases, students: (i) Surveyed user awareness of chatbot sustainability, (ii) Built a prototype chatbot and dashboard to estimate interaction energy use and adapt model selection by prompt type, (iii) Validated how energy visibility influences user behavior and awareness.
- How can we make use of design science to embed energy awareness into developer/
Software or Code Documentation
- When do developers find writing code comments in source code worthwhile in the era of AI?
- How do we ensure the quality of software documentation, e.g., code comments?
- How do we support developers in analyzing the quality of their code documents? which tools and techniques can enable this support?
Code Comprehension
- How to make code/
comments easier to understand? - Why do certain developers better grasp code than others? How do they build their mental models?
- Do multiple programming languages impact developers the same way, multiple natural languages do?
- Do prior programming language's experience influence the next one and how?
- How to make code/
Object-oriented breakpoints for Python or Java
Object-centric breakpoints (Ressia et al., 2012) are breakpoints scoped to specific objects. Traditional breakpoints are set on methods defined in classes, and interrupt executions for all instances sharing classes whose methods have breakpoints. Instead, object-centric breakpoints are scoped to specific objects, and only interrupt executions for these objects. Bourcier et al. (2025) studied the impact of object-centric breakpoints through a controlled experiment with 81 developers performing two debugging tasks—with and without these breakpoints. Results showed that their effectiveness depends on context: in one task, they reduced debugging time significantly; in the other, they increased it. These findings offer initial insights into how object-centric breakpoints might reshape debugging in object-oriented programming.
Task Overview:
In this project, we want to reproduce the experiment in a different setting to challenge our findings, further study the impact of object-centric breakpoints and improve our understanding of how to debug object-oriented programs. The goals of this project are three-fold:
- Implement object-centric breakpoints in Python and Java. We tested the object-centric breakpoints implementation of the Pharo language, because it is a production tool present in the Pharo language for more than 5 years. We want to implement the breakpoints in Python and Java to enable their evaluation in other settings. This work require to manipulate debuggers (such as PDB or JDI), to dynamically modify running executions by means of, e.g., reflection techniques and to rigorously test the new implementation.
- Integrate the new implementation in standards IDE and tools. Object-centric breakpoints do not replace standard tools, but come in complement. It is therefore necessary to include them in the standard debugging flow, and to make them available from standard tools. Typically, they must be available from various debugging menus in standard debuggers. This work require to extend IDEs such as PyCharm, IntelliJ and Jupyter notebooks to enable object-centric breakpoints, and to document their usage in these IDEs.
- Design and conduct replication experiments as well as new experiments to further understand and go beyond our first resuls. Python, Java and Jupyter developers use slightly different tools than Pharo developers. Reproducing our first experiment (Bourcier et al., 2025) requires careful adaptation of the original design. Furthermore, new experiments can be designed to explore the different specificities of these programming languages and environments.
Technologies: This project requires software development skills, including proficiency in Java or Python for concepts like meta-programming, Reflection, and the ability to work with the GitHub API, HTML/
CSS/JavaScript, and REST APIs. Knowledge of designing a user study is appreciated but not mandatory.
Open Positions
We have currently two open positions.
Full-time PhD Position in Sustainable Software Engineering (TV-L 13, 100%)
The Sustainable Software Engineering Group at the University of Mannheim invites applications for a full-time PhD position in Software Sustainability for an initial period of 3 years, with the possibility of extension.
Research focus: The position focuses on research in software sustainability, including technical, environmental, economic, social, and individual dimensions. Depending on the project, the work may also involve experiments on controlled servers to measure energy consumption. Experience with large-scale or HPC experimentation is a strong plus.
About us: The Sustainable Software Engineering Group [1] is part of the Software Engineering Group [2] at the University of Mannheim, a collaborative research environment with expertise in green software engineering, empirical software engineering, generative software engineering, model-driven software engineering, and software testing.
Successful applicants will:
- Conduct cutting-edge research in the field of software engineering and sustainability
- Publish and present research results at leading international venues
- Contribute to teaching in the Software Engineering Group, such as tutoring or student supervision, typically with a teaching load of 4 SWS
Applications should have:
- MSc degree in Computer Science, Software Engineering, Machine Learning, or a closely related field
- Strong background in software engineering, computer science, machine learning, or related areas
- Very good programming skills and practical experience with machine learning frameworks
- Ability to work independently and in a collaborative research environment
- Strong analytical and problem-solving skills
- High motivation for research and teaching
- Excellent written and spoken English
The University of Mannheim provides:
- An excellent research environment with strong collaboration opportunities within the Software Engineering Groups, the Data and Web Science Group, and beyond
- Flexible working conditions and access to compute infrastructure
- Generous travel and research funding
- A full-time position with competitive salary according to TV-L 13 [3]
- 30 vacation days plus paid leave at Christmas/
New Years Eve
Application documents:
Please send a single PDF containing:
- a short cover letter
- academic CV
- transcripts of BSc and MSc degrees
- an academic writing sample (ideally your MSc thesis)
- a short research proposal
- 2–3 references
Timeline: The intended start date is June 2026, although other arrangements can be discussed if necessary. We encourage applications by May 10, 2026. Review of applications will continue until the position is filled.
To apply, send an e-mail to Pooja Rani with the application documents in a single PDF document and email title [SSE PhD position]
Applications from persons with a disability are given preferential consideration provided that they are appropriately qualified. The University of Mannheim is committed to increasing the quota of women in areas where they are underrepresented and thus encourages women with appropriate qualifications to apply.
For questions, please contact Prof. Pooja Rani at pooja-raniuni-mannheim.de. To know about doctoral studies at Mannheim, check the university page [4].
[1] https://www.wim.uni-mannheim.de/atkinson/team/prof-dr-pooja-rani/
[2] https://www.wim.uni-mannheim.de/atkinson/
[3] https://lbv.landbw.de/-/tabellenentgelt-ab-01-01-2017-neu
[4] https://www.uni-mannheim.de/en/research/doctorate/doctoral-studies-in-mannheim/
Full-time Postdoctoral Researcher Position in AI/
ML for Sustainable Software Engineering (TV-L 13, 100%) The Sustainable Software Engineering Group at the University of Mannheim invites applications for a full-time postdoctoral researcher position for an initial period of 2–3 years, with the possibility of extension.
Research Focus: The position focuses on AI/
ML for Sustainable Software Engineering, with particular emphasis on software sustainability across technical, environmental, economic, social, and individual dimensions. The rapid growth of digital transformation and AI technologies has significantly increased the energy demand of software systems. At the same time, sustainability concerns on the software side remain underexplored. This position addresses these challenges through research at the intersection of AI/ ML, software engineering, and sustainability. Possible research topics include: source code analysis, software evolution and software architecture, code generation, improving software performance with respect to sustainability, including resource consumption, energy-efficient code, and sustainable deployment. Depending on the project, the work may also involve experiments on controlled servers to measure energy consumption. Experience with large-scale or HPC experimentation is a strong plus. About us: The Sustainable Software Engineering Group [1] is part of the Software Engineering Group [2] at the University of Mannheim, a collaborative research environment with expertise in green software engineering, empirical software engineering, generative software engineering, model-driven software engineering, and software testing.
Successful applicants will:
- Conduct cutting-edge research in green software engineering and software sustainability
- Publish and present research results at leading international venues
- Contribute to teaching in the Software Engineering Group, typically with a teaching load of 4 SWS
- Co-supervise PhD and MSc/
BSc students - Contribute to the preparation of scientific funding proposals
Applications should have:
- PhD in Computer Science, Software Engineering, or a closely related field
- Strong research interest in green software engineering, software performance optimization, supported by a solid publication record
- Very good programming skills and practical experience with AI/
ML frameworks - Strong analytical, problem-solving, mentoring (advising students), and collaboration skills
- Ability to work independently in a collaborative research environment, with high motivation for both – research and teaching
- Proficient in spoken and written English
We offer:
- An excellent research environment with collaboration opportunities at the University of Mannheim, with the SEAL group at the University of Zurich, and beyond
- Flexible working conditions and access to compute infrastructure
- Generous travel and research funding
- Teaching opportunities in BSc and MSc programs
- PhD co-supervision
- A full-time position with competitive salary according to TV-L 13 [3]
Application documents:
- a short cover letter
- academic CV
- list of publications, top 3 publication and why
- short research statement
- short teaching statement
- 2–3 references
Timeline:
The intended start date is June 2026, although other arrangements can be discussed if necessary. We encourage applications by May 10, 2026. Review of applications will continue until the position is filled.
To apply, send an e-mail to Pooja Rani with the application documents in a single PDF document and email title [SSE Postdoc position].
Applications from persons with a disability are given preferential consideration provided that they are appropriately qualified. The University of Mannheim is committed to increasing the quota of women in areas where they are underrepresented and thus encourages women with appropriate qualifications to apply.
For questions, please contact Prof. Pooja Rani at pooja-rani@uni-mannheim.de.
[1] https://www.wim.uni-mannheim.de/atkinson/team/prof-dr-pooja-rani/
[2] https://www.wim.uni-mannheim.de/atkinson/
[3] https://lbv.landbw.de/-/tabellenentgelt-ab-01-01-2017-neu