This page collects everything students need to know to work with me: how to reach me, how theses and internships under my supervision work, and what opportunities exist for PhD studies and research collaborations.

Getting in touch

The best ways to reach me are:

  • Book a meeting: reserve a half-an-hour slot of my calendar through Calendly. This is the preferred way to discuss thesis proposals, projects, and collaborations.
  • E-mail: pietro.ferrara@unive.it. Please use your institutional e-mail address, mention your study programme, and be specific about what you are asking; this helps me answer faster.
  • Office: studio Z.B03 (edificio Zeta B), Department of Environmental Sciences, Informatics and Statistics, Via Torino 155, Mestre (Ve).

If you are attending one of my courses, please use the corresponding Moodle space for questions about lectures, exams, and course material.

Theses and internships

This document provides complete guidelines about bachelor and master theses under my supervision — please read it before contacting me. I supervise a large number of bachelor theses and several master theses per year, so the time I can allocate to each thesis is limited, and the guidelines explain how supervision is organized. Anyway, I never refuse to supervise bachelor or master theses that fall into my research and teaching interests.

A list of possible topics follows. Some topics might be performed in collaboration with enterprises (as a stage, which is almost mandatory for the bachelor in Computer Science), while others cannot.

If you are interested in one of these projects, just book a slot on Calendly to discuss it!

Modern software architectures to manage IIoT data

Industrial machines (in our particular case, machines such as rollercoasters at amusement parks) are equipped with hundreds of sensors producing tons of data. Such data might give important insights to detect anomalies and predict faults. Collecting it, moving it to the cloud, and analyzing it therefore has an important industrial impact. The goal of this project is to design and develop modern software architectures (e.g., based on microservices, event-driven communication, and technologies such as Docker, Kubernetes, and KEDA) to collect, store, and process such data in a scalable, robust, and elastic way. This project is carried out in collaboration with industrial partners.

LiSA at SV-COMP

SV-COMP is the international competition on software verification. In 2026, we participated for the first time in the Java track with JLiSA, the Java frontend of LiSA, arriving 3rd. We are planning to participate again in the Java track, to potentially take part in the Python analysis track as well, and to build up a witnesses validator. Theses in this context range from improving the precision and performance of the analyses, to developing frontends and tooling for the competition.

Extensions of LiSA (Library for Static Analysis)

The Software and System Verification group at UniVE is developing LiSA, a Java library that aims to ease the creation and implementation of static analyzers based on the Abstract Interpretation theory. Such analyzer is designed to be easily extended to other domains, programming languages, and properties of interest. Therefore, I am highly interested in any thesis focused on the formalization and implementation of novel extensions of such analyzer. Possible thesis topics range from developing a parser to translate a programming language (e.g., Java, Python, or JavaScript) into the LiSA Abstract Syntax Tree (suitable for a bachelor thesis), to the formalization and/or implementation of well-known complex domains (suitable for master theses — a prerequisite in this case would be to have attended the course on “Software correctness, security, and reliability”).

… propose your own idea!

Since you have been studying Computer Science for many years by now, you might be interested in developing an information system to support some activities (in which probably you are an expert, or at least a user). I am quite open to supervising also this type of thesis if it contains enough technical work and details that are deep and interesting for a bachelor or master thesis. Just let’s discuss the details and see if this is feasible!

PhD and research collaborations

I am part of the Software and System Verification group and of the teaching committee of the PhD programme in Computer Science at Ca’ Foscari. I am currently the main supervisor of several PhD students, and I am always interested in motivated candidates who want to work on static analysis, abstract interpretation, and their application to modern software systems (microservices, robotic systems, blockchain software).

If you are interested in:

  • a PhD position: contact me by e-mail with your CV, a transcript of your grades, and a short statement of your research interests. Calls for PhD positions are published on the Ca’ Foscari PhD programme in Computer Science webpage.
  • a research collaboration (e.g., as a research fellow, a visiting student, or an industrial partner): book a meeting or drop me an e-mail describing your idea.

Courses

Information about the courses I teach (Object-Oriented Programming, Software Architecture, Introduction to Coding and Data Management, and others) is available on my university webpage and in the corresponding Moodle spaces.