Andrea Lattuada

Andrea Lattuada

I'm a PhD Student in the Systems Group, Department of Computer Science at ETH Zürich. My advisor is Prof. Timothy Roscoe.

I'm supported by a Google PhD Fellowship.

My interests span various areas of systems and programming methodology. I am currently focusing on applications of the dataflow computational model, flow control mechanisms, distributed tracing, fault-tolerance in streaming systems, and language-supported enforcement of complex programming contracts.

Looking for a thesis topic?

We have several interesting projects and ideas suitable for Bachelor and Master thesis, or lab projects. If you are passionate about systems and want to work on state-of-the-art distributed systems, novel computational models, and fault-tolerance mechanisms, please send me an e-mail.

Contact info

CAB F 69, ETH Zürich, Universitätstrasse 6, Zürich, Switzerland
Office: +41 44 632 44 95

Selected talks

Teaching assistant

A hammer you can only hold by the handle

05 November 2018

Today we’re looking at the rust borrow checker from a different perspective. As you may know, the borrow checker is designed to safely handle memory allocation and ownership, preventing accessess to invalid memory and ensuring data-race freedom. This is a form of resource management: the borrow checker is tracking who’s in charge of a chunk of memory, and who is currently allowed to read or write to it. In this post, we’ll see how these facilities can be used to enforce higher-level API constraints in your libraries and software. Once you’re familiar with these techniques, we’ll cover how the same principles apply to advanced memory management and handling of other more abstract resources.

Continue reading on the Systems Group blog