Logo of the University of Passau

Thesis Supervision

General Information

You would like to write your thesis at the Chair of Software Engineering II? We offer topics in the following courses:

  • Bachelor Computer Science
  • Bachelor Internet Computing
  • Master Computer Science

Application

For general information about the research topics at the chair, check out ongoing Projects, PublicationsTeaching, as well as completed Bachelor Theses and Master Theses.

For information on available thesis topics, either contact an employee directly or by e-mail at se2theses@fim.uni-passau.de. Please send us your email request from your student / FIM email address with the following information:

  1. Short resume
  2. Complete excerpt from grades (passed and failed exams),
  3. List of subject areas that interest you (e.g. search-based software testing, testing of autonomous cars, ...)

Procedure

1. Preparation phase: After you have decided on a topic, you familiarize yourself with this topic and plan your work. You decide on the research questions that you want to answer, deal with relevant literature and plan all the steps that are necessary to answer the research questions. This phase is completed by a presentation to the staff of the chair or a written proposal. Only if you successfully complete this phase and your presentation / proposal is accepted you can register your work with the examination office.

2. Implementation phase: Depending on the degree program, you have three or six months to complete your work and submit it to the examination secretariat after registration. You are free to hand in your work before this deadline. Discuss the schedule and other modalities with your supervisor. We expect you to behave proactively, which means that in the event of problems, it is your responsibility to inform your supervisor.

3. Final presentation: A final presentation is mandatory in all current study and examination regulations. Depending on the arrangement with your supervisor, this takes place shortly before or after completion of the work in front of the staff of the chair. In this lecture you present the results of your work.

Please note our presentation guidelines (PDF-Version), which also apply for seminar presentations.

Requirements

  • Students write their thesis in German or English.
  • All results, implementations and data must be published under a suitable open source license (exceptions: data protection, non-disclosure agreements).
  • There is an option to maintain a private repository on on our local GitLab to manage source code, experiments, and written work. Alternatively, you can create a repository yourself on GitHub or GitLab. Your work supervisor must have access to this repository to simplify operations.

WS 2025/2026

  • Tanja Schaier: Advancing Automated End-to-End Test Generation with Large Language Models
  • Robert Pernerstorfer: Pattern-Based Generation of Debugging Hypotheses for Scratch Programs
  • Sebastian Karl: Parameter Control in Neuroevolution-Based Generation of Tests for Games
  • Stefan Bauer: Accelerating Scratch Repair with Surrogate Models
  • Piehler Jonas: NeaTesTransfer – Improving Automatic Test Generation for Games Through Knowledge Transfer
  • Serkan Seker: Combining Genetic Algorithms and User Interaction Recordings to Enhance Automated App Testing
  • Achraf Hebheb: LLM-Based Generator Methods for Automated Python Test Generation
  • Daniel Lipp: White-box Model Inference for Scratch
  • Ahmed Abdelrazek: Symbolic Execution on Embedded Binary using Execution Trace
  • Khalid Alsafwany: From Bi-Objective to Many-Objective: Applying MOSA in DeepMetis and Evaluating Multi-Mutant Test Generation
  • Elias Goller: Voice-Controlled Scratch - An Inclusive Approach for Children with Disabilities
  • Huseyn Rasulov: Leveraging Code Embeddings for Live Learning Analytics in Scratch Programming Environment
  • Aziz Frigui: Automatic Ticket Linking: A Multi-Stage AI Framework for Semantic Retrieval, Code-Aware Reranking, and Explainable Developer Assistance

SS 2025

  • Fabian Münich: A2Test: Combining Evolutionary Search with Deep Reinforcement Learning in Testing Games
  • Marvin Kreis: Iterative LLM-driven Test Generation via Mutation Testing and Scientific Debugging
  • Abdelillah Aissani: Exploring LLM Integration into Automated Unit Test Generation
  • Tien Duc Nguyen: On the Visual Aspects of Code Readability in Scratch
  • Dariel Gegolli: Enhancing Scratch automated program repair through ChatGPT
  • Alexander Wittmann: Dynamic Programming Analysis of Scratch Programs
  • Ismet Seyhan: Incorporating RAG, MCDM, and Innovation Radar Framework

WS 2024/25

  • Lena Bloch: Exploring Loops: A Gamified Approach to Software Testing for Young Learners
  • Fabian Scharnböck: Analysis of Readability and Understandability of Similar Code
  • Hadi Atwi: Classifying Simulink Model Analysis Results using Machine Learning
  • Katrin Schmelz: A Comparison of Many-Objective Optimizations for Scratch Games
  • Sruthi Janardhanan: Social Network Analysis in Softwre Engineering Research Community
  • Mariia Koroleva: Genetic Algorithm and Code Embedding Models: A Novel Approach to Fixing Buggy Scratch Programs

SS 2024

  • Mohammad Eskandarpourkalahroudi: Predictive Test Selection
  • Gonzalo Andrés Oberreuter Álvarez: Effects of the Implementation of a Graph-Based Object Synthesis Heuristic on Pynguin
  • Ameer Anqawe: Gamekins IntelliJ plugin
  • Emily Courtney: Automatic Question Generation for Block-Based Programs
  • Joshua Fazel: Construction Safety Training in Virtual Reality with Interactive NPCs
  • Anastasia Penkova: Zero-downtime deployments of event-driven applications
  • Severin Primbs: AsserT5: Automated Generation of Test Assertions using a Large Language Model Approach
  • Gregor Sarubenko: Evaluating the Effectiveness of HyperNEAT for Testing Scratch Games Using Different Substrate Configurations
  • Vibhash Kumar Singh: Classification and Prioritization of Static Analysis Warnings using Machine Learning
  • Siegfried Steckenbiller: Interactive Block-Based Testing in Scratch
  • Florian Straubinger: Deep Q-Learning for Testing Games
  • Andreas Strobl: Combining MIO and EDA for Search-based Android App Testing
  • Sandra Merin Thomas: Static Analysis in the Scratch User Interface
  • Parid Varoshi: Integration of a Large Language Model Assistant in Scratch

WS 2023/24

  • Matthias Bloch: An Empirical Evaluation of Data Flow Coverage
  • Seyedehsara Hashemitari: A Master Thesis of C++ Code Readability
  • Maximilian Jungwirth: NeuroCodeStylist: Learning Naming Schemes and Format Conventions for Fixing Checkstyle Violations
  • Alaa Khalil: Deep Learning-Based Bug Detection in Scratch Programs
  • Lukas Krodinger: Advancing Code Readability: Mined & Modified Code for Dataset Generation
  • Nikita Semenov: Empowering Search-Based Automatic Program Repair by Using Language Models

SS 2023

  • Nina Feifel: Breakdown: Automated Generation of Tutorials for Scratch Programs
  • Vuong Nguyen: Automatically Generating Accurate Crash Simulations by Combining Natural Language and Image Processing with Metaheuristics
  • Michael Pusl: Using Subjective Logic to Judge the Novelty of Test Cases in Search-Based Android Test Generation
  • Oliver Wiescholek: JavaDeconstructor: Enabling structural modifications of running Java applications by deconstructing classes

WS 2022/23

  • Manuel Binder: Deep Reinforcement Learning für Android Testgenerierung
  • Adina Deiner: Interrogative Debugging for Scratch
  • Dominik Diner: Search-Based Crash Reproduction for Android Apps
  • Florian Kroiss: Type Tracing: Using Runtime Information To Improve Automated Unit-Test Generation for Python
  • Umme Rabab: Changing trends in female authorship of Software Engineering research community
  • Franz Scheuer: STRETCH: Generating Avoidable Scenarios from Car Crash Simulations
  • Valeria Stromtcova: Towards the detection of malicious bots in Russian social networks
  • Lavannya Varghese: User Influential Analysis of the Scratch Network

SS 2022

  • Adler, Felix: A Surrogate Model for Search-based Android App Testing
  • Bikowski, Jannik: Testing Android Applications Automatically Using Neuroevolution
  • Simon Labrenz: Using Checked Coverage as Fitness Function for Test Generation in Python
  • Lerchenberger, Jonas: Improving the testing behaviour of developers using Gamification
  • Mohapatra, Smruti Ranjan: Embeddings for Scratch Programs using Gated Graph Neural Networks
  • Tymofyeyev, Vsevolod: Search-based Test Suite Generation for Rust
  • Ziegler, Tobias: Automatic Interaction Testing for Motion Planning Systems

WS 2021/22

  • Ahmed, Jasim: CRISCE: Automatically Generating Critical Driving Scenarios From Car Accident Sketches
  • Disha, Alba: Project categorization in Scratch and analysis of various relations between different categories
  • Götz, Katharina: Model-based Testing for Scratch
  • Gruber, Felix: Effective Simulation-based Testing of Advanced Driver Assistant Systems with Bayesian Optimization
  • Harrat, Ammar: Predicting Test Flakiness in Python projects
  • Panyin, Stephen Banin: Vision-Based Multi-Task Learning for Automated Vehicles
  • Steinger, Nils: Predictive Mutation Testing for Human-Generated Mutants
  • Stocker, Armin: Deconstructed Java: Faster Mutation Testing using COMET (Closed Map Metaprograms)

SS 2021

  • Afsar, Owais: Deep Learning Prediction Model for Merge Conflicts
  • Becker, Leon: Automated App Testing Using Grammatical Evolution
  • Bumes, Michael: Analysis of injector closing time measurements using machine learning methods
  • Durairaj, Prabaharan: An empirical evaluation of the fault detection ability of checked coverage
  • Fein, Benedikt: Automatische Generierung strukturbasierter Hinweise für Scratch-Programme
  • Geserer, Sophia: Differential Testing of Scratch Programs in Whisker
  • Gogineni, Chaitanya: Hybrid modeling and the prediction of dynamic systems: A case study on the estimation of PMSM rotor temperature
  • Hamisu, Abdulhayyu: Mutation Testing: Analysis of Mutation Operators’ Role in the Context of Deep Neural Networks
  • Phan, Tran: Gamification of Mutation Testing in Continuous Integration and Continuous Delivery
  • Pilgram, Nico: Software Repair for Scratch Applications using Genetic Programming
  • Routh, Jairaj: An Evaluation of Fault Localisation for Python Programs
  • Srinivasan, Varun Balaji: Hyper-parameters Tuning of Reward functions with Multi-Objective Optimization for Deep Reinforcement Learning
  • Zare, Niloufar: Code Readability in Scratch

WS 2020/21

  • Feldmeier, Patric: Testing Scratch Programs using Neuroevolution
  • Griebl, Elisabeth: Code Completion for Scratch
  • Gruber, Michael: Automated Testing of Web Services with External Dependencies
  • Gulati, Priyansha: Cost Reduction using Random Sampling Strategies on Python Programs
  • Hamza, Ahmed: Testing Robustness of Self Driving Car Software by Identifying their Performance Boundary
  • Lawal, Abdulhayyu: Mutation Testing: Analysis of Mutation Operators’ Role in the Context of Deep Neural Networks
  • Obermüller, Florian: Hint Generation for Scratch With Help of Automated Testing
  • Reichenberger, Marco: Measuring Oracle Quality in Python
  • Vogl, Sebastian: Encoding the Certainty of Boolean Variables to Improve the Guidance for Search-Based Test Generation

SS 2020

  • Dhiddi, Saikrishna: Rehabilitating Mutant Immortals - An Empirical Investigation on the Application of Statistical Estimators in Mutation Testing
  • Gidwani, Varun: CrashGen: Generation of Vehicle Crash Scenarios
  • Govindaswamy, Arun: How Effective is Code Coverage in Correlation to Fault Finding?
  • Graßl, Isabella: Semiotische Analyse von Programmcode und -peripherie in Scratch
  • Holosynskyi, Robert: Python dataflow coverage
  • Huber, Stefan: DriveBuild: Automation of Simulation-based Testing of Autonomous Vehicles
  • Tkachuk, Vladyslav: Detecting equivalent mutants in Java
  • Jazi, Youssef: Grid-Based Object Tracking in autonomous diving
  • Mujahid, Qazi: Automatically Generating Driving Simulations from Videos to Address Safety Issues in Self-Driving Cars
  • Müller, Johannes: Declarative Test Case Generation for Autonomous Cars
  • Nguyen, Thi Thu Ngan: Efficient Sampling of Car States for Boundary Condition Estimation
  • Patil, Sanika: Software bug prediction in python using machine learning approach
  • Pleyer, Wenzel: Automating co-simulation for testing Advanced Driver Assistance Systems
  • Pradhan, Karthik Srinivas: Test Case Generation from Finite State Machine and Simulation on BeamNG
  • Simha, Apsara Murali: Search-based testing of drive comfort in self-driving cars
  • Sokyappa, Divya: How Good are Mutants to Replace Real Faults
  • Straubinger, Philipp: Motivating Developers to Write more Tests using Gamification
  • Tariq, Sameed: Automatic Driving Simulation Generation To Explore Parameters of Crash Scenarios in Self Driving Cars
  • Werli, Philemon: Asking the right questions – Adding Interrogative Debugging to Scratch
  • Zantner, Niklas: Accelerating the Whisker Test Framework

WS 2019/2020

  • Böhm, Sebastian: Predicate Granularity in Predicate Abstraction
  • Frädrich, Christoph: Combining Test Generation and Type Inference for Testing Dynamically Typed Programming Languages
  • Schweikl, Sebastian: Guided Mutation in EvoSuite

SS 2019

  • Pradhan, Tanshi: Automated Accessibility Testing of Android Applications
  • Halgekar, Prathmesh: Novelty Search for Unit Test Generation

WS 2018/2019

  • Bader, Verena: Parallelizing a Many-Objective Sorting Algorithm for Test Generation
I agree that a connection to the Vimeo server will be established when the video is played and that personal data (e.g. your IP address) will be transmitted.
I agree that a connection to the YouTube server will be established when the video is played and that personal data (e.g. your IP address) will be transmitted.
Show video