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, Publications, Teaching, 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:
- Short resume
- Complete excerpt from grades (passed and failed exams),
- 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
- Bachelor students write their thesis in German or English; Master's theses must be written in 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.
SS 2022 |
---|
Bakhanovich, Ihar: Illuminated AsFault: Combining Segment-based Road Generation and Illumination Search for Testing Lane Keeping Systems |
Gössmann, David: Capturing and Mining Programming Actions in Scratch |
Kästl, Leonhard: The Behavior of Scratch Sprites by Inferring State Machine Models |
Königseder, Maximilian: DeepTyper für Python und der Einfluss von Typvorhersagen auf die automatische Testgenerierung |
Pernerstorfer, Robert: Automatic Detection of Bad Coding Practices in Educational Robot Programs |
Piehler, Jonas: Eine Studie zur Untersuchung ausgewählter Faktoren von GUI-Traversal-basierter Testgenerierung für Android Applikationen |
Rauch, Matthias: Pygram - Bug Detection with N-gram Language Models for Python Projects |
Scharnböck, Fabian: Flakiness in automatically generated Python tests: An empirical study |
WS 2021/22 | |
---|---|
Beck, Florian: Code2Vec für Scratch | |
Bloch, Lena: Positive Linting for Scratch Programs | |
Euler, Urs: Development of a block-based frontend for automated Scratch tests | |
Ewald, Verena: Geschlechtsspezifische Unterschiede in Programmierkursen für Kinder | |
Kasberger, Christian: Using spectrum based fault localization to find root causes of flaky tests | |
Petereins, Victor: Entwicklung eines Statistiktools zur Visualisierung und Analyse der Durchführung von automatisierten Softwaretests |
SS 2021 |
---|
Borgards, Ben: A Coverage-based Greybox Fuzzing approach for Android GUI Testing |
Buchner, Simon: Refactoring in Scratch |
Caspari, Laura: Tracking and Analysing Programming Sequences in Scratch |
Dassow, Dominik: Evolutionary Computation and Swarm Intelligence in the Field of Music Recommender Systems |
Grieser, Eva: Gender Differences when Implementing a Scratch Program: an Empirical Analysis |
Häuslein, Fabian: Scratch Tutorialsystem: Eingliederung testbasierter Tutorien in Scratch |
Jäger, Jakob: Defining a Measurement for the Quality of Type Annotations in Python using Mutation Analysis |
Jungwirth, Maximilian: Challenging Developers to Remove Test Smells |
Stockinger, Simone: Sentiment-Analyse von Scratch-Kommentaren |
Straubinger, Florian: Mutation Analysis to Improve the Generation of Assertions for Automatically Generated Python Unit-tests |
Zauner, Daniel: PySketchFix - Automated Program Repair Tool for Python |
WS 2020/21 |
---|
Bloch, Matthias: Visualizing Data Flow Coverage for Java Classes |
Einwander, 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 2022 |
---|
Adler, Felix: A Surrogate Model for Search-based Android App Testing |
Bikowski, Jannik: Testing Android Applications Automatically Using Neuroevolution |
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 |