M.Sc. Thesis
Behavior-Driven Development in the Age of AI-Assisted Programming | Current Topics
Context
Behavior-Driven Development (BDD) is a software development approach that uses structured, natural-language specifications (typically written in Gherkin language) to describe system behavior through concrete examples and scenarios. These specifications support shared understanding between developers, testers, and domain experts and can be directly linked to automated tests.
With the rise of “vibe coding” and Large Language Models (LLMs), software development is increasingly driven by informal prompts and rapid prototyping. While this enables fast development, it often lacks systematic specification and traceability. BDD offers a structured way to describe expected behavior and may serve as a high-quality input for AI-based code generation.
This project is conducted in collaboration between multiple universities (FHNW, the university of Sannio, Italy) and investigates how BDD practices can be combined with modern LLM-based development.
Deep Learning for Software Merge Conflict Resolution | Current Topics
Context
Merge conflict resolution is a critical challenge in software development, particularly in large, collaborative projects that use version control systems like Git. When multiple developers modify the same part of a codebase, conflicts arise that require manual intervention. Existing automated resolution strategies often rely on rule-based approaches or traditional machine learning models, which struggle with complex and ambiguous cases. Deep learning has the potential to improve conflict resolution by learning patterns from historical merge conflicts and predicting optimal resolution strategies. However, identifying the most effective deep learning architecture for this task remains an open question.
Context
Modern public transportation vehicles, such as trams, buses, trolleybuses and trains, increasingly rely on on-board computing units to process and securely transfer large volumes of data generated by sensors and surveillance cameras. These systems often operate on limited battery power during night-time parking, when vehicles are disconnected from external energy sources. During this time window, the on-board computer must complete several computationally intensive tasks—such as software updates, video decoding, compression, encryption, and data upload—before service resumes.
In collaboration with Supercomputing Systems AG (SCS) and a public transportation company in Romandie, this project addresses the challenge of executing these tasks reliably under strict energy and time constraints. Understanding how to configure the embedded system and how to select optimal communication protocols for data transfer in order to remain both energy-efficient and predictable is essential for dependable fleet operations.
Feature Engineering for Classification-Based Merge Conflict Resolution | Current Topics
Context
Merge conflict resolution remains a significant challenge in Git-based software development, as manual conflict resolutions slow down collaboration and reduce developer productivity. However, empirical research results suggest that a vast majority of chunk resolutions found in practice can be derived from a fixed set of conflict resolution patterns, combining the ours, theirs, and base parts of a conflicting chunk in a pre-defined way. These findings form the foundation for phrasing merge conflict resolution as a classification problem, and thus using traditional machine learning for predicting conflict resolutions.
Predicting Merge Conflict Resolutions: WSRC vs. Random Forest | Current Topics
Context
Merge conflict resolution remains a significant challenge in Git-based software development, as manual conflict resolutions slow down collaboration and reduce developer productivity. However, empirical research results suggest that a vast majority of chunk resolutions found in practice can be derived from a fixed set of conflict resolution patterns, combining the ours, theirs, and base parts of a conflicting chunk in a pre-defined way. These findings form the foundation for phrasing merge conflict resolution as a classification problem, and thus using traditional machine learning for predicting the correct resolution.
RL-based Training for Code in LLMs | Current Topics
Context
Large Language Models (LLMs) have shown strong performance in code generation, completion, and repair tasks. However, supervised pretraining on massive code corpora is limited by data quality, lack of explicit feedback, and the inability to capture correctness beyond next-token prediction. Recent research has explored Reinforcement Learning (RL) based training approaches to refine LLMs for code. By leveraging feedback signals—such as compilation success, test case execution, or static analysis warnings—models can be trained to better align with correctness and developer intent.
Trust-VR: Feasibility of AI Architectures for Virtual Pediatric Patients | Current Topics
Context
Managing distressed pediatric patients in clinical environments is a challenging yet critical skill for healthcare professionals. Patients exhibit diverse emotional responses—ranging from anxiety and shyness to outright resistance—making it essential for clinicians to adapt their approach. Traditional training methods often lack the realism and variability needed to prepare professionals for these high-stakes interactions, particularly when it comes to emotional and behavioral dynamics in children.