Thesis projects

At the chair of Experimental Software Engineering (ESE) at the University of Bamberg we regularly offer topics for BSc or MSc thesis projects. However, feel free to also propose your own topics.
 

Notes:

  • Students interested in our projects should have completed relevant prior studies, in particular modules offered by the ESE and SWT chairs.
  • If the topics include any prior readings, we expect you to read the relevant papers before reaching out to us.

Example projects

Topic: Software engineering skills, expertise, experience, and training expectations: How do students differ from professionals?

  • Summary: Interventions to improve software development (e.g., methods, tools, skills development) differ based on the users of those interventions, i.e., the target audience of interventions (for example, undergraduate or graduate students, junior, intermediate or senior industry professionals). This project explores differences in target audiences based on their required skills, expertise, experience, as well as their preferences for training and developing required skills. The project can be pursued from different angles. For example, the project could analyze existing literature on skills and skill development in software engineering. Another angle could involve the analysis of social media and social platforms and Q&A pages. Yet another angle could be taken by direct interacting with different target audiences via interviews or surveys.
  • Pre-requisites: Interested students should have basic research and organizational skills and be willing to independently acquire new skills and knowledge in areas they are not familiar with. This project requires a solid knowledge of software engineering processes, practices, techniques; an understanding of software development in industry is a plus; programming skills are an advantage (e.g., to write programs to collect and analyze data).
  • Number of students: 1-2
     

Topic: Systematic analysis and comparison of GenAI for Requirements Engineering

  • Summary: Software Requirements Engineering is about systematically identifying, analyzing, documenting, validating and managing user needs, software features and quality requirements. GenAI has been adopted to support software engineering tasks like code or test generation. This project is about analyzing GenAI and its potential to support Requirements Engineering and Software Architecture design activities. The project can be explored from different angles. For example, from a purely technical angle the project could explore the technical abilities and pitfalls of GenAI for Requirements Engineering and Software Architecture. A human-centric angle can explore the perceptions of developers and end users on the outputs produced by GenAI and their usefulness for software development. A “market-driven” angle could create an overview of commercial and non-commercial GenAI tools and technologies. The project could involve a) creating a list of characterization criteria for GenAI technologies, b) surveying the market for technologies, c) assessing the technologies with regard to criteria (potentially involving users of the technologies), d) implementing examples with the identified technologies and comparing outputs as well as perceptions of different stakeholders on outputs.
  • Pre-requisites: Interested students should have basic research and organizational skills and be willing to independently acquire new skills and knowledge in areas they are not familiar with. This project requires a solid knowledge of software engineering processes, practices, techniques (particularly Requirements Engineering and Software Architecture); an understanding of software development in industry is a plus; a basic understanding of AI/ML and GenAI is required; programming skills are an advantage (e.g., to write programs to collect and analyze data).
  • Number of students: 1-2

 

Topic: Understanding and identifying quality-requirements problems in issue trackers 

  • Summary: Quality Requirements (QR), that is, non-functional requirements that describe software quality attributes such as security, reliability, usability, performance, and maintenance are usually neglected to be specified well-enough during software development. This leads to the creation of poor-quality software. Through this project, we seek to understand the common problems associated with QR and create a corpus that will serve as a basis for research and practice. In the context of this project, we analyze "issues", i.e., any task, bug, feature request, or problem that needs to be logged, tracked, and resolved using tools such as Jira or issue trackers built in tools such as GitLab.
  • Pre-requisites: ESE-SRE-B is an advantage; ESE-ESENG-M is an advantage; programming experience (Python, NLP libraries); interest in software quality and natural language processing; interest in qualitative data analysis 
  • Background reading: 

    [1] Fernández, D.M., Wagner, S., Kalinowski, M. et al. Naming the pain in requirements engineering. Empir Software Eng 22, 2298–2338 (2017). doi.org/10.1007/s10664-016-9451-7

    [2] Gilson, F., Galster, M. and Georis, F., 2019, March. Extracting Quality Attributes from User Stories for Early Architecture Decision Making. In ICSA Companion (pp. 129-136).

    [3] Perera, J., Tempero, E., Tu, YC. et al. Modelling the quantification of requirements technical debt. Requirements Eng 29, 421–458 (2024). doi.org/10.1007/s00766-024-00424-3 

  • Number of students: 1-2
  • Additional information: This project might be completed in collaboration with overseas partners via remote collaboration. We also support students who are interested in applying for funding to visit our international partners.

 

Topic: Identifying indicators for developer trust during tool adoption

  • Summary: Software developers use various tools to support their tasks, e.g., IDE’s for programming, testing tools to automatically run and analyze tests, deployment pipelines to roll out products, etc. Traditionally, software development tools have been "reactive" while modern tools provide more proactive support (e.g., AI-powered agents for software development). This project aims at studying what makes software developers adopt tools as part of their development toolbox. In general, this project aims to identify indicators that make developers trust development tools (or not).
  • Pre-requisites: SWT-FSE-B or similar; ESE-ESENG-M is an advantage
  • Background reading:

    [1] Castelfranchi, C. and Falcone, R., 2010. Trust theory: A socio-cognitive and computational model. John Wiley & Sons.

    [2] Choudhuri, R., Trinkenreich, B., Pandita, R., Kalliamvakou, E., Steinmacher, I., Gerosa, M., Sanchez, C. and Sarma, A., 2024. What Guides Our Choices? Modeling Developers' Trust and Behavioral Intentions Towards GenAI. arxiv.org/abs/2409.04099.

    [3] Johnson, B., Bird, C., Ford, D., Forsgren, N. and Zimmermann, T., 2023, May. Make your tools sparkle with trust: The PICSE framework for trust in software tools. In 2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP) (pp. 409-419). IEEE.

    [4] Baltes, S., Speith, T., chiteri, B., Mohsenimofidi, S., Chakraborty, Shalini, Buschek, D., 2025, On the Need to Rethink Trust in AI Assistants for Software Development: A Critical Review. https://arxiv.org/abs/2504.12461 

  • Number of students: 1-2
  • Additional information: This project might be completed in collaboration with overseas partners via remote collaboration. We also support students who are interested in applying for funding to visit our international partners.