Introduction
This article lists the possible areas for topics of a master thesis if you want to be advised by me (and often by colleagues who work on these topics with me). We do not list concrete topics, but general areas: a concrete topic comes up after some discussion with the student, and I always take their preferences into account. This list will be updated in the context of the Software & Data Engineering Seminar Courseā, which you will be following if you are enrolled in the MSDE/MAISE Master.
If you find any idea you like, please contact me via email.
Videogame Design & Quality
We are interested in topics related to videogame design and quality, in particular for platformers, especially Super Mario games. In this area we have published two research articles on Super Mario Maker 2, which is particularly interesting for design and quality since players are also creators of games. In general, I am looking for students interested in doing similar work in the area of role-playing games (in all styles) or other game genres with interesting mechanics and/or narratives. While the methodologies may vary, we are particularly interested in applying techniques normally used for software analysis and analytics to game design and quality.
A Taxonomy of Design Quality in Super Mario Maker 2
Thanks to its popularity, Super Mario Maker 2 (SMM2) features myriad user-designed platforming levels that span a broad range of styles, genres, difficulty, and quality. This paper is a first attempt at charting out this vast landscape of levels, with the goal of exploring the main concepts that characterize design quality. To this end, we first selected 500 videos by popular YouTube streamers that play SMM2 levels. With the help of an LLM, we extracted and clustered by topic segments where the streamer comments about the design of the level they are playing. Then, we applied a grounded theory coding process to extract the concepts emerging in these segments, and we combined and organized them hierarchically. The resulting taxonomy identifies the main abstract concepts that pertain to the design of a level in SMM2 and its resulting quality, as well as several concrete elements of the game that belong to each abstract category. Besides illustrating the underlying dimensions that characterize design quality in SMM2, our results also illuminate the diverse landscape of player-designed levels in the game.
What Makes a Level Hard in Super Mario Maker 2?
Games like Super Mario Maker 2 (SMM2) lower the barrier for casual users to become level designers. In this paper, we set out to analyze a vast amount of data about SMM2 user-written levels, in order to understand what factors affect a level's difficulty as experienced by other users. To this end, we perform two kinds of analyses: one based on regression models and one using natural language processing techniques. The main results shed light on which level characteristics (e.g., its style, popularity, timing) and which topics and sentiments have a consistent association with easier or harder levels. While none of our findings are startling, they help distill some key differences between easy and hard SMM2 levels, which, in turn, can pave the way for a better understanding of end-user level design.

(Historical) Document Engineering
This area involves the use of modern frameworks for document engineering, such as doclingā, together with LLMs, to analyze historical documents like those of the Swiss Commercial Registry. These frameworks are essential to make such documents analyzable by machines, and in particular by LLMs.
Mining A Century of Swiss Trademarks
The Swiss Commercial Registry has been recording information regarding commercial activities in Switzerland since 1883, preserving the data in the form of periodic publications known as the Swiss Commercial Gazette of Commerce (SOGC). This information, currently accessible through a digitalized archive of scanned PDF documents, spans across heterogeneous cantonal registers and includes approximately 430,000 pages of text. These records are characterized by various details such as company acquisitions, founding events, relocations, bankruptcies, and trademark registrations from 1883 to 2001. This master thesis focuses on the specific events related to the registration of trademarks within this vast collection. The gathering and mining of this data hold significant importance for economic studies, enabling researchers to explore the notable economic development that Switzerland has witnessed over the past century. The objective of this work is to transform the wealth of unstructured information contained in these documents into a structured and queryable dataset to facilitate research activities. To accomplish this, we employ several state-of-the-art techniques to identify trademark sections, locate relevant entries, and extract associated information. Designing a comprehensive approach to achieve this goal involves addressing several challenges: (i) handling the extensive size of the collection, amounting to approximately 600GB; (ii) accommodating the evolving structure and information layout of the documents over time; (iii) managing the varying quality of the pages, including noise and artifacts; and (iv) dealing with the multilingual nature of the documents, incorporating entries in German, French, and Italian.
NLP/AI for Economics Research
This area involves the use of NLP techniques, often but not necessarily supported by LLMs, to support research in economics and in the social sciences. This includes, for example, reconstructing the networks of companies (including complex relations such as a company owning or controlling another one), locations, and people.
Modeling and Analyzing Time-Dependent Network of Firms
Since 1888 the economic and legal data related to firms in the Swiss Confederation has been collected in the registry of commerce, a public archive administered by the government, which contains documentation about juridical entities conducting business. The aim is to record and publish legally relevant administrative events (e.g., the creation or the fusion of two companies, the names of partners, board members, and company directors having signatory authority) and ensure the protection of third parties. In particular, it promotes the security of trades by conferring certain legal effects on registered facts. Historically, this data has been recorded as natural language text, written in French, Italian, and German, in a printed format. Nowadays this data is recorded in digital format and enriched with metadata about the involved companies. However, the complete semantics still needs to be extracted from natural language. For example, when a firm has a new owner or partner, such information is available only in the raw text, and similarly, when a firm merges with another one, the buyer firm needs to be extracted from natural language. This information is essential to support many tasks in economic studies, in particular, the ones requiring networks (i.e., graphs) of direct firm-firm connections, such as subsidiary and branch relationships, as well as indirect firm-owner-firm links.
Spatio-Temporal Visualization of Evolving Company Networks
Switzerland has experienced significant economic changes over the past 150 years, transitioning from a primarily local economy, where businesses operated mostly in the primary sector, to one of the world's most competitive economies, largely driven by the services sector. This evolution has attracted the attention of economists who aim to understand the factors behind this shift. Part of the data needed for economists to analyze the Swiss economy is available due to the Swiss Ordinance on the Registry of Commerce, which requires businesses listed in the Central Business Name Index to provide detailed information about their location, ownership, business purpose, and other relevant aspects. The Swiss Confederation ensures this information is made publicly accessible by publishing daily updates in the Official Gazette of Commerce. Despite the wealth of this valuable data, its potential remains largely unexploited due to its unstructured nature, compounded by the multidimensionality of the information. Therefore, to date, no large-scale analysis has ever been undertaken.
Serious Games for Software Engineering
Serious games are games that do not have fun as their primary purpose, but are instead used, for example, to support specific tasks. We are interested in the design of games that support software engineering tasks like program comprehension.
Encoding Program Comprehension Tasks as Role Playing Games: a Prototype Framework Aiming to Produce Serious Games
Program comprehension is one of the fundamental activities of software development. Despite advances in software engineering research and practice, how to properly support program comprehension is essentially an open problem, especially when it involves tasks in the large, e.g., getting a grasp of the architecture of a software system, or understanding complex domain models. Moreover, for such tasks, the support given by modern IDEs is relatively limited. Like many other complex and poorly supported software engineering activities, program comprehension can impair the motivation of developers, ultimately causing a significant loss of engagement. To overcome this negative effect, recent research has investigated the use of Gamification, i.e., the use of game elements and game design techniques to address non-game problems. However, this often resorts to merely adding points and badges as rewards, which is known to have limited effectiveness because of a fast degradation of engagement. Instead, we believe that the complex relationships typical of software systems, that are thus involved in program comprehension tasks, require equally complex game design techniques that are typical of more complex games.
āScreen Timeā for Developers Using AI
We are interested in mining IDE interaction data, and in particular data related to the use of AI assistants in the IDE, like GitHub Copilot or Claude Code. This can be done in the context of general software development or even education (e.g., students solving assignments or learning programming). Apart from analysis, we are interested especially in visualization techniques applied to that data.
Characterizing and Visualizing Development Fragmentation with Interaction Data
Work fragmentation is a phenomenon that has been widely investigated in recent years. This phenomenon is very common in the workspace, and is detrimental to the actual work taking place. One source of fragmentation is represented by interruptions, where an external signal (e.g., email, chat, or phone call) forces a switch of activity at an unplanned moment and for an unknown duration.
