Marco Patrignani https://squera.github.io/ Hugo -- gohugo.io en-us https://squera.github.io/lists/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/lists/ I enjoy keeping track of things I’ve enjoyed such as books, places I skied and some D&amp;D stuff. Books 2025: Gardens of the moon [1st reread] by Steven Erikson 2024: Forge of the high mage by Ian C. Esslemont The lady of the lake Andrzej Sapkowski 2023: The tower of the swallow Andrzej Sapkowski Baptism of fire Andrzej Sapkowski 2022: Time of contempt Andrzej Sapkowski Blood of elves Andrzej Sapkowski The last wish Andrzej Sapkowski 2021: The Tales Of Bauchelain and Korbal Broach, Vol 1 (Malazan Empire) by Steven Erikson 2020: Kellanved&rsquo;s reach by Ian C. https://squera.github.io/papers/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/papers/ Below is a list of my publications, sorted by year, followed by my talks. Papers My publications can also be found on DBLP or on my Google Scholar page. I encourage people to write articles using syntax highlighting. Patrignani. Why Should Anyone Use Colours? [ .pdf ] | [ arxiv ] | [ .tex macros ] 2025 Kolosick, Ammanaghatta Shivakumar, Cauligi, Patrignani, Vassena, Jhala, Stefan. Robust Constant-Time Cryptography. In PLDI'25 https://squera.github.io/personal/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/personal/ Short Bio I was born in Ravenna, Italy in 1986. I got my bachelor and master degree (theoretical curriculum) from the University of Bologna. I did my bachelor thesis with Danilo Montesi and my master one jointly with Davide Sangiorgi and Dave Clarke. I did my Ph.D. in Leuven with Dave Clarke and (after he left) Frank Piessens. You can find my thesis in this page (2015). Afterwards, I spent 2 years as a postdoc at MPI-SWS in Saarbrücken with Deepak Garg. https://squera.github.io/research/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/research/ Research Interests Broadly, I am interested in formal methods, programming language and security (generally, programming language security and secure compilation). I am an active promotor of the secure compilation research field, having developed with my collaborators: secure compilation criteria (modular full abstraction, trace-preserving compilation, robustly safe compilation, robust hyperproperty preservation criteria); proof techniques for secure compilation (trace-based backtranslation, approximate context-based backtranslation); instances of secure compilers in action (secure compilation for Spectre, for PMA and for high-level capability machines); teaching material for secure compilation (see my teaching page); https://squera.github.io/teaching/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/teaching/ Below you find recent courses, internship and theses proposals. Further down you find older courses. Di seguito trovate i corsi recenti e le proposte di tirocinio e di tesi. In fondo alla pagina ci sono i miei vecchi corsi. I do not have open positions at the moment. Recent:2025-26 [First semester] Advanced Programming (EN) [First semester] Teaching Programming Languages (IT) [Second semester] Programming Language Semantics (+ local page) (EN) [Secondo semestre] Programmazione 2 (IT) Theses Master and Bachelor theses are available upon request, look here in case you are interested in a thesis on programming languages and security. FCS 2023: Workshop on Foundations of Computer Security <br> <p align=center>9th July 2023 - Dubrovnik, Croatia -- co-located with <a href=https://csf2023.ieee-security.org/>CSF23</a> </p> https://squera.github.io/fcs23/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/fcs23/ Program All times are in Central European Time (CET), which is GMT+1. 09:00 &ndash; 09:15 Opening 09:15 &ndash; 10:15 Keynote by Marco Guarnieri 10:15 &ndash; 10:30 (break) (location: outside) 10:30 &ndash; 11:10 Technical session 1 (chair: Matteo Busi) Emiel Lanckriet, Dominique Devriese and Frank Piessens &ldquo;From Secure Compilers to Robust Abstractions: A general theory of secure compilation and reduction proofs&rdquo; Zilong Wang, Gideon Mohr, Klaus von Gleissenthall, Jan Reineke and Marco Guarnieri &ldquo;Specification and Verification of Side-channel Security for Open-source Processors via Leakage Contracts&rdquo; 11:15 &ndash; 12:00 Mentoring panel 12:00 &ndash; 14:00 Lunch + Mentoring (location: hangout room) 14:00 &ndash; 15:00 Technical session 2 (chair: Ethan Cecchetti) Matthias Grundmann and Hannes Hartenstein &ldquo;Towards a Formal Verification of the Lightning Network with TLA+&rdquo; Federico Badaloni, Chrysoula Oikonomou, Pedro Moreno-Sanchez and Clara Schneidewind &ldquo;BitMLx &ndash; Cross-chain Smart Contracts for Bitcoin-style Cryptocurrencies&rdquo; Stephan Dübler, Pedro Moreno-Sanchez and Clara Schneidewind &ldquo;Generalized Swap Graphs for Blockchain Protocols&rdquo; 15:00 &ndash; 15:15 (break) (location: outside) 15:15 &ndash; 15:55 Technical session 3 (chair: Roberto Blanco) Matteo Busi, Flaminia Luccio and Riccardo Focardi &ldquo;Don&rsquo;t Get Stranded: Secure and Dynamic Key Management Policies with Strand Spaces&rdquo; Jan Menz, Andrew K. Advanced Programming 2022-23 https://squera.github.io/courses/ap-22-23/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/courses/ap-22-23/ By prof. Marco Patrignani General Course Information This Advanced Programming course has two goals: (1) making you well-versed in a novel, advanced programming language, and (2), making you capable of developing large projects without relying solely on your code. Thus, the course will first present the Rust programming language, and then it will have a major W3C-style class-wide project. The first part of the class will be more Rust-focussed, while the latter one will be more project-focussed, with working group meetings and the software fair. Advanced Programming Midterm Speedruns https://squera.github.io/courses/ap-speedrun/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/courses/ap-speedrun/ By prof. Marco Patrignani General Information The following two lists present those students that got a perfect score in each midterm, sorted by the fastest time. There have been minor changes in the constitution of the Midterms, specifically the load in AY 2025/26 was reduced from the previous years. Additionally, from 2025/26 onwards there can be no additional material. Only the midterms count for this list, since it&rsquo;s the first time the students see the questions. CS358 2020-2021 https://squera.github.io/courses/cs350-20-21/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/courses/cs350-20-21/ CS350: SECURE COMPILATION By prof. Marco Patrignani Below you will find the following information for the course: &ndash; general course information, &ndash; prerequisites and interest, &ndash; location and timeslots, &ndash; evaluation and grading, &ndash; high-level syllabus outline, &ndash; class and lecture outline. Some entries are still TBD, please contact the instructor if you have questions. PIAZZA, CANVAS AND OTHER LINKS: Canvas: https://canvas.stanford.edu/courses/135723 Piazza: https://piazza.com/class/kmewl9o18oi3je Gradescope: https://www.gradescope.com/courses/255564 (find the code in Piazza) CS358 2020-2021 https://squera.github.io/courses/cs358-20-21/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/courses/cs358-20-21/ CS358: PROGRAMMING LANGUAGE FOUNDATIONS By profs. Marco Patrignani and Marco Vassena General Course Information How can programming language designers ensure that programmers know exactly what their programs do? Programming language (PL) theory can help answer this and similar questions precisely. In this course, we study fundamental concepts of PL theory that are essential to the design and specification of programming languages. We will learn how to formalize fundamental concepts such as program syntax, semantics, and type systems, starting from a minimal language (lambda calculus), which we will then extend progressively with more advanced features (algebraic data types, heaps, recursion, and polymorphism) typical of many existing programming languages. Programming Languages Semantics 2022-2023 https://squera.github.io/courses/sem-22-23/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/courses/sem-22-23/ By prof. Marco Patrignani General Course Information How can programming language designers ensure that programmers know exactly what their programs do? Programming language (PL) theory can help answer this and similar questions precisely. In this course, we study fundamental concepts of PL theory that are essential to the design and specification of programming languages. We will learn how to formalize fundamental concepts such as program syntax, semantics, and type systems, starting from a minimal language (lambda calculus), which we will then extend progressively with more advanced features (algebraic data types, heaps, recursion, and polymorphism) typical of many existing programming languages. Programming Languages Semantics 2023-2024 https://squera.github.io/courses/sem-23-24/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/courses/sem-23-24/ By prof. Marco Patrignani General Course Information How can programming language designers ensure that programmers know exactly what their programs do? Programming language (PL) theory can help answer this and similar questions precisely. In this course, we study fundamental concepts of PL theory that are essential to the design and specification of programming languages. We will learn how to formalize fundamental concepts such as program syntax, semantics, and type systems, starting from a minimal language (lambda calculus), which we will then extend progressively with more advanced features (algebraic data types, heaps, recursion, and polymorphism) typical of many existing programming languages. Programming Languages Semantics 2024-2025 https://squera.github.io/courses/sem-24-25/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/courses/sem-24-25/ By prof. Marco Patrignani General Course Information How can programming language designers ensure that programmers know exactly what their programs do? Programming language (PL) theory can help answer this and similar questions precisely. In this course, we study fundamental concepts of PL theory that are essential to the design and specification of programming languages. We will learn how to formalize fundamental concepts such as program syntax, semantics, and type systems, starting from a minimal language (lambda calculus), which we will then extend progressively with more advanced features (algebraic data types, heaps, recursion, and polymorphism) typical of many existing programming languages. Programming Languages Semantics 2025-2026 https://squera.github.io/courses/sem-25-26/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/courses/sem-25-26/ By prof. Marco Patrignani General Course Information How can programming language designers ensure that programmers know exactly what their programs do? Programming language (PL) theory can help answer this and similar questions precisely. In this course, we study fundamental concepts of PL theory that are essential to the design and specification of programming languages. We will learn how to formalize fundamental concepts such as program syntax, semantics, and type systems, starting from a minimal language (lambda calculus), which we will then extend progressively with more advanced features (algebraic data types, heaps, recursion, and polymorphism) typical of many existing programming languages. Trento E Lode https://squera.github.io/tel/ Mon, 01 Jan 0001 00:00:00 +0000 https://squera.github.io/tel/ Obiettivi Il progetto Trento&amp;Lode (T&amp;L) vuole fornire tutte le indicazioni necessarie a quegli studenti del DISI che (1) hanno ambizioni di eccellenza accademica, e (2) progettano già di fare la magistrale in un altro ateneo fuori dall&rsquo;Italia (perchè se volete stare in Italia, meglio stare al DISI). Una volta compiuto il vostro percorso all&rsquo;estero, ci auguriamo che vogliate poi tornare in italia, come molti di noi han fatto, e infatti questo sito fornisce indicazioni anche al riguardo.