
Marco D'Ambros
Collaborations with Marco D'Ambros
CodeLounge @ Software Institute, USI, Lugano
Projects
Institutional Foundations of Industrialization, Financialization, and Globalization of the Swiss Economy
Leveraging NLP and ML to transform historical corpora into structured geocoded data

Sphere Two: Swiss Pavilion @ Expo 2025
An interactive art-science installation for the Swiss Pavilion at Expo 2025 that turns visitors' spoken wishes into floating soap bubbles.

Firms and tax competition in the digital economy: a data platform for geo-temporal network analysis
Building a data platform on the network of firms that supports geo and temporal analysis

Software quality assessment for Justitia 4.0
In-depth analysis of a large software system from multiple perspectives

Collecting and Visualizing Development Activities in Visual Studio Code
Tracking low-level IDE interaction events and transforming them into meaningful data to understand our own productivity

myUSI Research & Teaching Support Platform
Management and analytics for the University

Teaching and Training Activities
No Pandas Were Harmed: Elegant and Efficient Data Analytics with Polars
## Workshop Description
USI Hackathon 2019: Making Data Alive
A three-day hackathon held from 15 to 17 November 2019 in the Aula Magna of the [USI](https://www.usi.ch) campus in Lugano, organized by [CodeLounge](https://codelounge.si.usi.ch), the research and development group of the [Software Institute](https://si.usi.ch), with the support of [Ated4Kids](https://www.ated.ch/progetto_ated4kids.php) and [Lugano Living Lab](https://luganolivinglab.ch). I was part of the organizing team, led by Marco D'Ambros and Michele Lanza together with Mauro Prevostini and Elisa Larghi from the Faculty of Informatics, and with my CodeLounge colleagues Luca Ponzanelli, Davide Paolo Tua, Jesper Findahl, and Roberto Minelli. I also took the pictures of the event, collected in the [Flickr album](https://www.flickr.com/photos/185754239@N08/albums/72157711974256596/). All the details are on the [event website](https://hackathon.usi.ch).
Software
REFLEX Data Pipeline & REFLEXplorer
The software backbone of the REFLEX project: a document-AI and NLP pipeline turning 140 years of scanned Swiss commercial registry into structured, geocoded data, and a web platform to explore it
Tako
A Visual Studio Code extension that records, aggregates, and visualizes IDE interaction data โ entirely on the developer's own machine

MyUSI Platform
A modular platform for managing the academic life of a university: a GraphQL-based, actor-oriented backend and a component-based frontend, piloted on the research service
Theses & Projects
FairLex: AI-Based Assistant for Legal Compliance and Sustainability Challenges in the Fashion Industry
Francesco De Vito ยท Master of Science in Software & Data Engineering
Spatio-Temporal Visualization of Evolving Company Networks
Francesco Bresciani ยท Master of Science in Software & Data Engineering
Modeling and Analyzing Time-Dependent Network of Firms
Federico Lombardo ยท Master of Science in Software & Data Engineering
Mining A Century of Swiss Trademarks
Daniel Travaglia ยท Master of Science in Software & Data Engineering
GITGLASS: Data Analysis and Visualization of Collaborative Development Platforms
Gabriele Zorloni ยท Master of Science in Software & Data Engineering
SITRA - Simple Traffic: Support Decision-Making in a Real Context with Traffic Simulation
Valerie Burgener ยท Master of Science in Software & Data Engineering
Characterizing and Visualizing Development Fragmentation with Interaction Data
Aldo Gabriele Di Rosa ยท Master of Science in Software & Data Engineering
Viralscale: Leveraging Virality to Predict and React to Traffic Spikes
Lucas Pennati ยท Master of Science in Software & Data Engineering
Testing Modern Web Applications Written in TypeScript and React
Armend Azizi ยท Bachelor of Science in Informatics
Co-Authored Publications
Mining a Century of Swiss Trademark Data
This paper presents an approach for extracting trademark registration events from the Swiss Official Gazette of Commerce (SOGC), an official daily journal published by the Swiss Confederation since January 1883. Until 2001, the data is only available as scanned documents, which constitute the target dataset of this study. Our approach is composed of a chain of three steps based on state-of-the-art deep learning techniques. We leverage image classification to identify pages containing trademarks (macro segmentation); we apply object detection to identify the portion of the page corresponding to a registration event (micro segmentation); last, we perform information extraction using a document AI technique. We obtain a dataset of ca. 500,000 trademark registration events, extracted from a corpus of 430,000 pages. Each step of our workflow has relatively high accuracy: the macro and micro segmentation steps show precision and recall greater than 95% on a manually constructed dataset. The dataset offers a unique historical perspective on trademark registrations in Switzerland that is not available from any other source. Showcasing what can be achieved with the extracted information, we provide answers to a set of preliminary economics questions.

Visualizing Interaction Data Inside & Outside the IDE to Characterize Developer Productivity
Work fragmentation is a common phenomenon in the workspace, and is detrimental to the actual work taking place. To measure and study the impact of work fragmentation in software development, several studies exploited interaction data, i.e., the data generated by the events performed by the developers in the IDE. However, the absence of information on activities performed outside the IDE could lead to a misclassification of development time. In fact, sometimes leaving the IDE is not an interruption of the task at hand, e.g., when consulting API documentation, or when discussing with colleagues in ad-hoc collaboration applications. In this paper, we propose Ferax, a data analytics platform that developers can leverage for retrospection and possibly to improve their productivity. The capabilities of Ferax are twofold: First, it extends Tako, a profiler to record IDE interaction data for Visual Studio Code, with information about which applications were used and which websites were visited. Second, to enable the understanding of productivity and interruptions on developer sessions, Ferax provides interactive visualizations that show the detailed sequence of events inside and outside the IDE, the switches the developer performs by classifying them as productive or possible interruptions, and the time distribution for application usage. As a preliminary evaluation of Ferax we have collected and analyzed real development sessions from a set of master students and two professional developers. We illustrate how a developer can leverage Ferax to characterize her usual habits, to elicit the impact of interruptions, and to better characterize sessions which were only apparently unproductive.

Quantitatively Exploring Non-code Software Artifacts
Most software engineering research focuses its analyses on source code, because correct, well designed, and efficient program code is the desired end output of software development. Nevertheless, source code is not the only constituent of software systems: Programs also comprise other types of artifacts, such as documentation, build system and configuration files, and graphics. These non-code artifacts only recently got the attention of researchers and are not yet investigated as a whole, but separately and with very specific aims. By taking a quantitative perspective, we look into non-code software artifacts to measure their role in software systems. We analyze 35 mature open-source software systems and we address exploratory questions such as: How many non-code software artifacts do software systems contain? How do they relate to source code? How much effort is put into producing and maintaining them? Our results show that a significant portion of systems is made of non-code artifacts, and that programmers spend a relevant part of their effort on non-code artifacts during the development process. Our analysis opens questions for future investigations.

