Most of the completed M.Sc. Final Project reports are publicly available at essay.utwente.nl. We maintain a complete list (currently being completed) from 2021 onwards below, and list a selection of completed projects from prior years.
2025
- Lars van Arkel: Procedural generation and validation of fixed-viewpoint digital nature landscapes. (supervised by Marcus Gerhold and Vadim Zaytsev)
- Boris Belchev: Code Green : Evaluating the Carbon and Energy Implications of LLM Integration in Software Development. (supervised by Fernando Castor)
- Valentijn Hol: Explorations in Quasi-Polynomial Algorithms for Parity Games. (supervised by Tom van Dijk)
- Lenn Perik: Leveraging Generative Pre-trained Transformers for the Detection and Generation of Social Engineering Attacks : A Case Study on YouTube Collusion Scams. (supervised by Rom Langerak)
- Lotte Steenmeijer: Use weighted attribute grammars to formalize human-to-machine communication in Internet of Things systems. (supervised by Vadim Zaytsev)
- Katiuscka van Veen: XAI In Fraud Detection : A Causal Perspective. (supervised by Faizan Ahmed)
2024
- Feije van Abbema: Enhancing Vessel Re-identification with RGB-Infrared Multi-Modal Techniques. (supervised by Faizan Ahmed)
- Jan Douwe Beekman: Error bounds for floating points in Isabelle/HOL. (supervised by Peter Lammich)
- Ties Bolding: Introducing Automated Testing into an Existing Codebase with Limited Effort. (supervised by Petra van den Bos)
- Niels Bos: Enhancing Portfolio Management Efficiency through Automated Scheduling: Harnessing Genetic Algorithms. (supervised by Moritz Hahn)
- Wouter Bos: Generating Piping & Instrumentation Diagrams from Static Fault Trees. (supervised by Marielle Stoelinga)
- Nele Budde: Automatic evaluation of fault-tree-based student exercises. (supervised by Moritz Hahn)
- Danut Copae: Attack-Defense Trees with Offensive and Defensive Attributes. (supervised by Marielle Stoelinga)
- Rafael Malach Dulfer: WAGon: A Weighted Attribute Grammar Oriented Notation. (supervised by Vadim Zaytsev)
- Daniël Floor: Code comprehension in the multi-paradigm environment Kotlin. (supervised by Vadim Zaytsev)
- Jelle Hulter: Data access paradigms in enterprise software development. (supervised by Tom van Dijk)
- Filip Ivanov: CodeQuizzer: Improving codebase understanding for code review via a gamified quiz taking system. (supervised by Vadim Zaytsev)
- Dylan Damian Janssen: Design and Implementation of new features for Runtime Permission Verification in Concurrent Java Programs using VerCors. (supervised by Marieke Huisman and Pieter Bos)
- Oebele Lijzenga: Generating Patch Ingredients for Search-based Program Repair using Code Language Models. (supervised by Vadim Zaytsev)
- Michael Mulder: From Behaviours to Code : Exploring Behaviour-Driven Development in Unity 3D Game Creation. (supervised by Petra van den Bos)
- Theodor Fabian Niculae: The ChatGPT Effect: An Analysis of Topic Modeling and User Interaction on StackOverflow. (supervised by Faizan Ahmed)
- Manzi Aimé Ntagengerwa: Towards gradual typing: a type-shifting Python language implementation. (supervised by Peter Lammich)
- Koen Reefman: Using LLMs to aid developers with code comprehension in codebases. (supervised by Fernando Castor)
- Mart de Roos: Faster Mutation Testing through Simultaneous Mutation Testing. (supervised by Arend Rensink)
- Ömer Sayilir: Towards Grammatical Inference of Legacy Programming Languages. (supervised by Vadim Zaytsev)
- Matthias Sleurink: Verified Parser- and Printer-Combinator Bidefinition in the Isabelle Proof Assistant. (supervised by Peter Lammich)
- Alexander Stekelenburg: Solving Parity Games: Combining Progress Measures and Tangle Learning. (supervised by Tom van Dijk)
- Thomas Stouten: Modeling the effectiveness of treatment for Rheumatoid Arthritis with UPPAAL. (supervised by Rom Langerak)
- Naum Rosenov Tomov: Extensibility Of Domain-Specific Languages: A Case Study of an Industrial DSL. (supervised by Vadim Zaytsev)
- Suzanne van der Veen: A Formal Proof for the Correctness of Tangle Learning. (supervised by Tom van Dijk and Peter Lammich)
- Mark van Wijk: The State of Multi-Objective Model Checking. (supervised by Arnd Hartmanns)
- Ellen Wittingen: Deductive verification for SYCL. (supervised by Marieke Huisman, Ömer Şakar)
2023
- Marnick van der Arend: The LAMP Framework — A Language-Agnostic Code Quality Assurance Framework for Multi-Paradigm Languages (supervised by Vadim Zaytsev)
- Mart van Assen: Integrating the Five Steps of Plotting: A Plotting Tool Design. (supervised by Faizan Ahmed)
- Stijn Berendse: Towards explainable machine learning for prediction of disease progression. (supervised by Faizan Ahmed)
- Jan Boerman: Verifying a Parallel Graph Algorithm (supervised by Marieke Huisman and Bob Rubbens)
- Stijn Broekhuis: Incorporating User Inputs for Improved JSON Schema Inference. (supervised by Vadim Zaytsev)
- Bram Dekker: Semi-supervised point cloud segmentation on railway data (supervised by Faizan Ahmed)
- Nathan Doornenbal: Providing Information for the implementation of hybrid learning in Dutch Pre-vocational secondary education (with Marcus Gerhold as committee member)
- Tom Grooters: Analysis of automated Virtual Machine generation and automation around system testing at TKH Airport Solutions (supervised by Petra van den Bos)
- Max Hendriks: Consider it Parsed! (supervised by Vadim Zaytsev)
- Joshua Jeeva: Risk Assessment of Humanoid Robot EVE-r3. (supervised by Marielle Stoelinga)
- Puck Kemper: Designing Dynamic Digital Environmental Enrichment for Capuchin Monkeys (with Marcus Gerhold as committee member)
- Maaike Keurhorst: A Closed Domain Question Answering System for a Genetic Counselor within the ECG Family Clinic (with Marcus Gerhold as committee member)
- Dylan Koldenhof: Neural Network Backdoor Removal by Reconstructing Triggers and Pruning Channels. (supervised by Moritz Hahn)
- Joël Ledelay: Verification of distributed locks : a case study. (supervised by Marieke Huisman and Bob Rubbens)
- Yujie Liu: Testing and Mutation Testing for GPU Kernels. (supervised by Marieke Huisman and Marcus Gerhold)
- Frank van Mourik: IterSHAP: an XAI feature selection method for small high-dimensional datasets. (supervised by Faizan Ahmed)
- Jorik van Nielen: Dynamic Detection and Classification of Persistence Techniques in Windows Malware. (supervised by Marieke Huisman, Andrea Continella and Jerre Starink)
- Dré van Oorschot: VCLLVM: A Transformation Tool for LLVM IR programs to aid Deductive Verification. (supervised by Marieke Huisman and Ömer Şakar)
- Andrej Pištek: Dynamic variable reordering for Binary Decision Diagrams (supervised by Tom van Dijk)
- Andrei Popa: Gotta adjust them all! -- Dynamic Difficulty Adjustment of Role-Playing Games Through Procedural Content Generation of Non-Player Characters (supervised by Marcus Gerhold & Vadim Zaytsev)
- Arthur Rump: Apollo++: Automated Assessment of Learning Outcomes in Programming Projects. (supervised by Vadim Zaytsev)
- Joost Sessink: Parallelising a Probabilistic Model Checker (supervised by Arnd Hartmanns)
- Stijn Slebos: Experimental study of a novel RF sensing application for measuring soluble sugar and electrical conductivity in the tomato plant stem (with Marcus Gerhold as committee member)
- Reinier Stribos: A comparison of Anomaly Detection Algorithms with applications on Re-Coater Streaking in an Additive Manufacturing Process (supervised by Marielle Stoelinga)
- Konrad Socha: Fuzzy Markov chains (supervised by Moritz Hahn & Matthias Volk)
2022
- Dennis Aanstoot: Graph Rewriters as Components (supervised by Arend Rensink)
- Jander Gilbers: Automatic Fault Tree Inference using Reinforcement Learning (supervised by Marielle Stoelinga)
- Ivan Hop: On the Performance of Algorithms for Quantitative Verification (supervised by Arnd Hartmanns)
- Ramon Houtsma: An explainable Machine Learning Approach to Risk-Adaptive Access Control (supervised by Marielle Stoelinga, in cooperation with DACS)
- Wytse Rekker Verification of a SysML railway specification with a translation to UPPAAL (supervised by Rom Langerak)
- Jan Smits: Callisto - Selecting Effective Mutation Operators for Mutation Testing (supervised by M.H. Everts and Ansgar Fehnker)
- Nander Voortman Modelling OSA Diagnosis and Treatment using UPPAAL (supervised by Rom Langerak)
2021
- Remco Abraham: Symbolic LTL Reactive Synthesis (supervised by Tom van Dijk and Salomon Sickert (TUM))
- Pieter Bos: Program Verification for Quantum Algorithms (supervised by Marieke Huisman)
- Gerlof Bouma: Web Server Loads under Visitor Surges: A Model-Based Prediction (supervised by A. Hartmanns)
- Nhat Bui: Negomancer : Improvise. Adapt. Overcome. Transform. (supervised by Vadim Zaytsev)
- Stephanie Drerup: Deductive Verification of Integrated Hardware/Software Systems with the VerCors Verification Tool (supervised by Paula Herber, Marieke Huisman, Raúl Monti, at WWU Münster)
- Han Hollander: Verification of a model checking algorithm in VerCors (supervised by M. Huisman and Ö.F.O. Şakar)
- Ramesh Krishnamurthi: ADA Software Model Checking (supervised by Marieke Huisman, Raúl Monti, Jacques Verriet (TNO) and Yonghui Li (TNO))
- Hans van der Laan: Incremental Verification of Physical Access Control Systems (supervised by Raúl Monti and Wouter Kuijper (NEDAP))
- Alberto Martinez de Murga Ramirez: Dead Code Detection on Strict ECMAScript 6 Projects (supervised by Vadim Zaytsev at the UvA Software Engineering programme)
- Lars Meijer: Test case shrinking for Model Based Testing on Symbolic Transition Systems (supervised by Marielle Stoelinga)
- Samarjeet Patil: Automated Vulnerability Detection in JAVA Source Code using J-CPG and Graph Neural Networks (supervised by Erik Tews (UT SCS), Marieke Huisman, Decebal Mocanu (UT DMB))
- Mike Pingel: Leveraging machine learning and process mining to predict anaemia with the help of biomarker data.(supervised by Faiza A. Bukhsh (UT DMB), Faizan Ahmed)
- Arnaut Scholten: Efficient matching of heterogeneous roadmap data at Rijkswaterstaat (supervised by Marielle Stoelinga and Rolf de By)
- Jerre Starink: Analysis and Automated Detection of Code Injection Techniques in Malware (supervised by Andrea Continella (UT SCS) and Marieke Huisman)
- Antoine Veenstra: Accelerating Mixed-level Coverage Array generation (supervised by Marieke Huisman and Takashi Kitamura (AIST))
- Rick de Vries: Clash of Clangs : differential testing of srcML and Clang (supervised by Vadim Zaytsev)
- Eric van der Woude: Retargeting a Compiler for a Different Platform (supervised by Vadim Zaytsev at the UvA and Johan Fabry at Raincode Labs)
Older Projects
This is a selection of completed projects from the years prior to 2021, in reverse chronological order.
2020
- Tim Kemp: An algorithmic approach to a conjecture of Chvátal on toughness and hamiltonicity of graphs (supervised by H.J. Broersma, T. van Dijk, and M.J. Uetz). Won the ENIAC Master's Thesis Award.
- Lukas Miedema: QuickInterp - Improving interpreter performance with superinstructions (supervised by Marieke Huisman and Tom van Dijk). Won a 2nd prize for the KNVI Scriptieprijzen voor Informatica en Informatiekunde and a 1st prize for the VERSEN best Master thesis award.
2019
- Rob van Emous: Towards Systematic Black-Box Testing for Exploitable Race Conditions in Web Apps (supervised by Marieke Huisman and Erik Tews (UT SCS)). Won the ENIAC Master's Thesis Award.
2018
- Sophie Lathouwers: Reasoning About the Correctness of Sanitizers (supervised by Marieke Huisman and Maarten Everts (UT SCS)).
Won 2nd prize for the KNVI Scriptieprijzen voor Informatica en Informatiekunde and KHMW Internetscriptieprijs voor de categorie Internet & Technische wetenschappen.
An archive of older completed projects can be found on our old website (external link).