Last week, I celebrated my first month in Eindhoven and my first month of activities at TU/e. During this month, a lot of things happened, so I will try to recap them but before this, I have to explain how I ended up here.
Why TU/e?
If you have read the post on the about page, you should already know that I’m currently enrolled in an MSc program in Computer Engineering at the University of Cagliari.
Before the start of the second (and hopefully final) academic year, our course coordinator sent us the following email:
During the meeting, the course coordinator reminded us about the Erasmus+ Traineeship program. This program allows European students to have an internship abroad and receive a scholarship. After hearing about it, I immediately thought of my friend Lorenzo. He’s doing his BSc here in Eindhoven and has always spoken highly of the city and university, just like my course coordinator.
Later that day, I began my research into groups that aligned with my degree and caught my interest. I stumbled upon the website of the SET: Software Engineering & Technology cluster.
After exchanging a couple of emails, I scheduled a meeting with Michel Chaudron, a full professor from the Department of Mathematics and Computer Science at TU/e. During our meeting, he introduced me to different projects, and in the end, I decided to work on the Moonshot project.
You might be wondering why I chose to pursue this kind of experience in an academic setting instead of a company. That’s actually a great question. I decided to stay in the academic world for two main reasons:
- It gives me the opportunity to explore how academia works in other parts of the world without long-term commitments, such as a PhD or other research activities.
- This might be useful if I decide to continue my academic career with a PhD.
- I can explore topics that might not be explored in traditional work environments.
Other than that, I also decided to pursue this kind of experience because it would probably be the last time that I could do it, especially considering that COVID-19 happened during my Bachelor’s degree.
Living Abroad for the first time
This is the first time that I’m living abroad. To be precise, it is also the first time that I’m not living with my parents. I can say that I was extremely lucky and managed to find an incredibly nice house here in Eindhoven that I share with two other Dutch guys. Nowadays, you can’t take this for granted since we are in the middle of a housing crisis.
At first, it was strange because obviously I didn’t immediately feel like the house was “mine”. I felt more like a guest than a tenant, but fortunately, I got used to it after a week. Living on your own definitely has its pros and cons, and it also comes with its own set of obligations, such as cleaning the apartment, doing groceries, and doing laundry. But at the end of the day, these are extremely doable tasks, although some of them can be a bit boring. In these cases, I usually listen to podcasts to make the tasks more enjoyable. Currently, I’m listening to “Che Pizza”, which, as the name suggests, talks about pizza.
I can probably say that I have fallen in love with the city because, for the first time, I can finally feel that I’m in a city that is tailored to the needs of the people who live in it. For example:
- A maximum speed of 30 km/h in almost all city center
- Crossings (both for pedestrians and bike riders) with working request buttons
One of the many crossings that I see almost everyday
- Tunnels that allow for safe walking or biking while being separated from the cars
And on the personal side I also like it the style of the buildings, the fact that a lot of houses ( at least in residential areas ) are terraced and obviuosly how I could not mention the Evolution: the building shape like an UFO.
I have no complaints about the city other than the weather. So far, it has been extremely unstable: you can probably experience multiple seasons in a day, probably not the best if your mood is heavily influenced by the weather. But apparently, even locals complain a lot about it, so I’m okay with that.
Life at TU/e
How do I even start? The campus is gorgeous, especially for someone like me who is used to completely different university campuses. The fact that the campus is so cool makes mornings less harsh. It’s like a small town with almost everything you need: a small supermarket, a movie theater, student housing, a daycare, a sports center, a business center, bars, and a hairdresser.
Picture of the campus, taken on my first day in Eindhoven
The guts of Metaforum, this is all I see from my office window Lounge at Neuron, one of the buildings that was recentely renewed Top view of the University library The Black Box, home of The University cinema The campus during a snowy day The blue room, also known as the auditorium The Hubble Cafè
Okay, Matteo, we get it. You really like the buildings, but what about the people?
On my first day, I was welcomed by the PhD students of the department. So far, everyone has been extremely nice and kind to me, including the professors and other staff that I have met in my first month here. Speaking of professors, I really like the fact that they are down-to-earth. When you talk with them, you almost feel like you’re on the same level while still maintaining a level of respect for all parties involved. Unfortunately, this is not common in Italy.
One of the many benefits of being involved with PhDs is participating in all kinds of activities, such as seminars, networking events, and PhD defenses. Everyone keeps telling me that I managed to choose a period that is packed with events. So far, we can count two (soon to be three) PhD defenses, an inaugural lecture, a networking event, a seminar, and a PhD meeting.
The PhD defenses are something completely new to me. They resemble Italian graduation ceremonies, with the only difference being that here the focus is on a specific candidate, and everything revolves around them. The commission starts the defense by asking the candidate to do a 10-minute presentation about the topic. After that, the candidate goes through 50 minutes of questions, which can sometimes be extremely tough. The commission then leaves the room to evaluate the candidate. During this moment, the cum laude committee might be involved to decide if the thesis deserves to be awarded cum laude. After all of this, the promoter(s) give a speech about the candidate, and so far it is the best part of the whole ceremony. Here, you can clearly see the nice bond that is created during the years between the two.
My Activities at TU/e
Apart from attending events, I work with Satrio Rukmono, one of Michel’s PhD students, here at TU/e. Together, we are working on a project that involves extracting knowledge from program source code. Specifically, I’m focused on the security aspects of program source code by introducing alerts for potential bugs in a visualization tool that he is currently developing.
To achieve this goal, I have explored multiple static source code analysis tools such as MATE by Gallois, Joern by ShiftLeft, and Infer by Meta. Despite MATE only supporting C/C++, we decided to use it because it provided more detailed output compared to the other tools.
Besides this, I’m also working on knowledge extraction using tools such as Spoon and Rascal mpl(where mpl stands for metaprogramming language). I even had the opportunity to meet some of the members of the Rascal team, which will be helpful for getting support whenever we encounter problems that we cannot solve on our own.
A brief focus on Rascal
From Wikipedia:
Metaprogramming is a programming technique in which computer programs have the ability to treat other programs as their data. It means that a program can be designed to read, generate, analyze or transform other programs, and even modify itself while running. In some cases, this allows programmers to minimize the number of lines of code to express a solution, in turn reducing development time. It also allows programs a greater flexibility to efficiently handle new situations without recompilation.
Rascal is an open-source project from UseTheSource, an initiative that involves the Centrum Wiskunde & Informatica (CWI) and the SWAT group, with contributions from multiple universities.
We use Rascal in conjunction with the Clair library to extract information from C/C++ projects, such as functions/methods, return types, modifiers, and more.
Rascal is an extremely powerful tool that can be used to accomplish multiple goals. If you are interested in this kind of tool, you should definitely check it out and maybe even contribute to the project.
Ending
So far, I have no regrets about this experience. I’m really happy with the decision that I made, and I’m looking forward to seeing what the next weeks will bring.
If you arrived to the end of this post, congrats !
Tot ziens! - Matteo