Logo der Universität Passau

Abschlussarbeiten

Allgemeine Informationen

Sie wollen Ihre Abschlussarbeit am Lehrstuhl für Software Engineering II schreiben? Wir bieten Ihnen Themen in folgenden Studiengängen an:

  • Bachelor Informatik
  • Bachelor Internet Computing
  • Bachelor Artificial Intelligence
  • Master Informatik
  • Master Artificial Intelligence

Bewerbung

Wir betreuen Arbeiten zu Themen rund um Software Engineering, vorwiegend mit Bezug auf:

  • Programmanalyse
  • Automatische Testgenerierung
  • Search-based Software Engineering
  • Empirische Methoden im Software Engineering
  • Machine Learning und Software Engineering
  • Entwicklertools und Feedback-Erzeugung
  • Didaktik der Programmierung

Beispiele zu relevanten Themen finden Sie bei unseren aktuellen Projekten, PublikationenLehrveranstaltungen, oder abgeschlossenen Bachelorarbeiten und Masterarbeiten. Wir sind auch offen für interdisziplinäre, studiengangübergreifende Abschlußarbeiten.

Um Informationen zu verfügbaren Themen zu erhalten, kontaktieren Sie entweder einen Mitarbeiter direkt oder per E-Mail an se2theses@fim.uni-passau.de. Senden Sie uns Ihre E-Mail-Anfrage von Ihrer studentischen/FIM-E-Mail-Adresse mit folgenden Informationen zu:

  1. Kurzer Lebenslauf
  2. Vollständiger Notenauszug (bestandene und nicht bestandene Prüfungen),
  3. Auflistung von Themengebieten, die Sie interessieren (z.B. Search-based Software Testing, Testing of Autonomous Cars, ...)

Ablauf

1. Vorbereitungsphase: Nachdem Sie sich für ein Thema entschieden haben, beginnen Sie sich in das Thema einzuarbeiten und Ihre Arbeit zu planen. Sie überlegen sich dabei die Forschungsfragen, die Sie beantworten wollen, beschäftigen sich mit relevanter Literatur und planen alle Schritte, die zur Beantwortung der Forschungsfragen notwendig sind. Abschluss dieser Phase ist eine Präsentation vor den Mitarbeitern des Lehrstuhls oder ein schriftliches Exposé. Nur falls Sie diese Phase erfolgreich abschließen und Ihre Präsentation/Ihr Exposé akzeptiert wird, dürfen Sie die Arbeit beim Prüfungssekretariat anmelden.

2. Implementierungsphase: Nach der Anmeldung haben Sie, je nach Studiengang, drei bzw. sechs Monate Zeit, Ihre Arbeit abzuschließen und diese beim Prüfungssekretariat einzureichen. Es steht Ihnen frei, die Arbeit vor Erreichen dieser Frist abzugeben. Besprechen Sie mit Ihrem Betreuer Zeitplan und weitere Modalitäten. Wir erwarten von Ihnen, dass Sie sich proaktiv verhalten, das heißt, im Falle von Problemen ist es Ihre Aufgabe, Ihren Betreuer zu unterrichten.

3. Abschlusspräsentation: In allen aktuellen Studien- und Prüfungsordnungen ist ein Abschlussvortrag verpflichtend. Dieser findet, je nach Absprache mit Ihrem Betreuer, kurz vor oder nach der Fertigstellung der Arbeit vor den Mitarbeitern des Lehrstuhls statt. In diesem Vortrag präsentieren Sie die Ergebnisse Ihrer Arbeit.

Beachten Sie zur Abschlusspräsentation bitte auch unsere Hinweise für Präsentationen (nur in englischer Sprache verfügbar, PDF-Version). Diese Hinweise gelten auch für Seminarpräsentationen.

Voraussetzungen

  • Die Arbeit kann auf Deutsch oder Englisch angefertigt  werden.
  • Alle Ergebnisse, Implementierungen und Daten müssen unter einer geeigneten Open Source Lizenz veröffentlicht werden (Ausnahmen: Datenschutz, non-disclosure Agreements).
  • Es besteht die Möglichkeit, ein privates Repository auf in unserem eigenen GitLab zu erhalten, um Source Code, Experimente und die schriftliche Arbeit zu verwalten. Alternativ können Sie auch selbst ein Repository auf GitHub oder GitLab anlegen. Der Betreuer Ihrer Arbeit muss Zugriff zu diesem Repository erhalten, um die Abläufe zu vereinfachen.

SS 2025

  • Lukas Vögl: Improving Automated Unit Test Generation with Realistic String Inputs
  • Alexander Wüst: Memetic Unit Test Generation for Python
  • Louis Leppelmann: LLM Based Type Inference for Unit Test Generation in Untyped Languages
  • Altin Hajdari: Enhancing Automated Unit Testing for Machine Learning Libraries Based on API Constraints

WS 2024/25

  • Patrick Urlberger: A Readability Plugin for the IDE
  • Michael Baumgartner: Improving code readability in practice: Focus on the change
  • Valentin Damjantschitsch: Commenting feedback on Scratch projects — Effects on code quality and reaction analysis
  • Xhyla Muslui: Generative Art: Teaching Students to Code through Creative Programming
  • Jonas Heitz: Comparing Unit Test Generation and Debugging with the Serious Game “Sojourner Under Sabotage
  • Kilian Lichtenauer: Assertion Transformation for Automatic Repair Enhancement in Scratch Programs
  • Lisa Seisenberger: Accessibility in software developments: A comparison of awareness between students and employees
  • Sebastian Dechant: Combining Neuroevolution with Novelty Search to Overcome Static Screens in Scratch Programs

SS 2024

  • Johannes Schmid: The Future of Input Management: Exploring Generative AI Solutions
  • Thomas Fellner: Applying Abstraction and Mocking on Tests through Gamification
  • Jonas Elsper: Einfluss von Codequalität Hinweisen in Tutorial Systeme für blockbasierte Sprachen
  • Victor Vollmann: Code, Creativity and Conversation: Analyszing the Intersection on Youth, Technology, and Society in Scratch

WS 2023/24

  • Michael Grüner: Die Suche nach den Mutanten: Codeänderungsverfolgung in Gameskins
  • Jakob Silbereisen: Perfuming Java for learners: an adoption of Code Perfumes for Java
  • Jasper Herting: Hyperparametertuning-Strategien für Code2Vec: Implementierung und Analyse eines zweistufigen Tuning-Verfahrens
  • Alexander Degenhart: Empirical Evaluation of Equivalence in Mutants Created Manually with Code Defenders

SS 2023

  • Sebastian Vogt: Analysing the Influence of the Fitness Function on the Fitness Landscape of the Android Black-Box Test Generation Problem
  • Markus Obermaier: Auswirkung der automatischen Typannotierung durch Monkeytype auf die Testgenerierung durch Pynguin

WS 2022/23

  • Fabian Scharnböck: Flakiness in automatically generated Python tests: An empirical study
  • Ivan Charviakou: Application of NLP techniques to increase the efficiency of mutation testing
  • Leonhard Bauer: Gamification of Software Testing on the GitLab Collaboration Platform

SS 2022

  • Leonard Kästl: The Behavior of Scratch Sprites by Inferring State Machine Models
  • Matthias Rauch: Pygram — Bug Detection with N-Gram Language Models for Python
  • David Gössmann: Capturing and Mining Programming Actions in Scratch
  • Robert Pernerstorfer: Automatic Detection of Bad Coding Practices in Educational Robot Programs
  • Ihar Bakhanovich: Illuminated AsFault: Combining Segment-based Road Generation and Illumination Search for Testing Lane Keeping Systems
  • Jonas Piehler: Eine Studie zur Untersuchung ausgewählter Faktoren von GUI-Traversalbasierter Testgenerierung für Android Applikationen

WS 2021/22

  • Urs Euler: Development of a block-based frontend for automated Scratch tests
  • Florian Beck: Code2V für Scratch
  • Christian Kasberger: Using spectrum based fault localization to find root causes of flaky tests
  • Verena Ewald: Geschlechtsspezifische Unterschiede in Programmierkursen für Kinder
  • Florian Straubinger: Mutation Analysis to Improve the Generation of Assertions for Automatically Generated Python Unit-tests
  • Lena Bloch: Positive Linting for Scratch Programs
  • Dominik Dassow: Evolutionary Computation and Swarm Intelligence in the Field of Music Recommender Systems
  • Ben Borgards: A Coverage-based Greybox Fuzzing approach for Android GUI Testing
  • Maximilian Jungwirth: Challenging Developers to Remove Test Smells
  • Fabian Häuslein: Scratch Tutorialsystem: Eingliederung testbasierter Tutorien in Scratch
  • Laura Caspari: Tracking and Analysing Programming Sequences in Scratch
  • Eva Grieser: Gender difference when implementing a Scratch program: an empirical analysis
  • Victor Petereins: Entwicklung eines Statistiktools zur Visualisierung und Analyse der Durchführung von automatisierten Softwaretests
  • Simon Buchner: Refactoring in Scratch

SS 2021

  • Jabok Jäger: Defining a Measurement for the Quality of Type Annotations in Python using Mutation Analysis
  • Daniel Zauner: PySketchFix — An Automated Program Repair Tool for Python
  • Simone Stockinger: Sentiment-Analyse von Scratch-Kommentaren

WS 2020/21

  • Bloch, Matthias: Visualizing Data Flow Coverage for Java Classes
  • Einwanger, Julian: Empirische Analyse der Nutzung von Lambdas in Python
  • Fichtner, Fabian: Mutation Analysis in Scratch
  • Fraunholzer, Tim: An Empirical Investigation on Road Similarity and its Application to Testing Autonomous Cars
  • Gründinger, Eva: Scratch Bug Detection Using the N-gram Language Model
  • Haan, Alexander: Surrogate Models for Mobile App Testing
  • Isaak, Johannes: Implementing Automated Refactoring for Scratch
  • Kern, Christian: Runtime Property Checking on Scratch Programs
  • Pusl, Michael: Automated Dependency Inference and Test Suite Execution for Python Projects
  • Reißig, Alexander: Ant Colony Optimization Algorithmus Implementierung des ACO in MATE und analytischer Vergleich mit anderen Heuristiken für das automatisierte Testen von Android Applikationen
  • Steffens, Lukas: Seeding Strategies in Search-Based Unit Test Generation for Python

SS 2020

  • Diner, Dominik: Exchanging Scratch Error Witnesses between Analysis Frameworks
  • Frank, Christian: Search-based Reproduction of Android App Crashes
  • Grelka, Felix: Eine empirische Analyse von Flaky-Tests in Python
  • Heine, Michael: Generating Urban-like Scenarios to Spot Fuel-Inefficient Behavior of Autonomous Cars
  • Körber, Nina: Anomaly Detection in Scratch: Block Patterns and Their Violations
  • Kroiss, Florian: Automatic Generation of Whole Test Suites in Python
  • Raster, Felix: Combining Ul- and Intent-Fuzzing on Android
  • Schrenk, David: Generierung von Typhinweisen in Python mit code2vec und PathMiner

WS 2019/2020

  • Fierbeck, Simon: Comparing novelty search and multi-objective search for testing self-driving car software
  • Krafft, Maren: The Effects of Introducing Programming Concepts to Adults with Scratch
  • Nowotny, Karin: Data Flow Anomaly Detection in Scratch Programs
  • Prasse, Felix: Automated test suite generation by mapping elites
  • Zuch, Noah: Automatisiertes Kombinatorisches Testen für Unit-Testing-Frameworks

SS 2019

  • Bachmann, Rafael: Specification and Verification of a Multicopter Flight Controller
  • Blöchl, Markus: Code Clone Detection in Scratch
  • Hierl, Markus: Automatic Generation of Driving Simulations from Labeled Video Data
  • Galdobin, Sabina: Scratch Debugging: Vergleich der Vorgehensweise von Studierenden und Schulkindern
  • Lerchenberger, Jonas: Gamification in Software Engineering: Code Coverage als Ziel eines Test-Spiels
  • Kreis, Marvin: Whisker: Automated Testing of Scratch Programs
  • Sulzmair, Florian: Identification and Automated Analysis of Common Bug Patterns in Scratch Programs
  • Ziegler, Tobias: Ein automatisierter Spieler zu Unterstützung in der Software Testing Lehre

WS 2018/2019

  • Gruber, Michael: Teaching Software Testing Techniques to Novice Programmers Using a Mutation Testing Game
  • Keller, Sebastian: Using Plan-Driven Development in Educational Programming Projects
  • Vogl, Sebastian: Analysis of the Pareto Archived Evolution Strategy for Many-Objectives Test Generation

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
Ich bin damit einverstanden, dass beim Abspielen des Videos eine Verbindung zum Server von Vimeo hergestellt wird und dabei personenbezogenen Daten (z.B. Ihre IP-Adresse) übermittelt werden.
Ich bin damit einverstanden, dass beim Abspielen des Videos eine Verbindung zum Server von YouTube hergestellt wird und dabei personenbezogenen Daten (z.B. Ihre IP-Adresse) übermittelt werden.
Video anzeigen