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
- Master Informatik
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, Publikationen, Lehrveranstaltungen, 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:
- Kurzer Lebenslauf
- Vollständiger Notenauszug (bestandene und nicht bestandene Prüfungen),
- 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.
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 2024
- 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