Senior Applied Scientist at Amazon Web Services · automated reasoning & formal verification

I am a computer scientist and software developer. My main areas of expertise are automated reasoning and software. I am curious about system and design verification, logic, (theoretical) computer science and computing in general.

I am a Senior Applied Scientist at Amazon Web Services. As part of my work I design, adapt and develop Automated Reasoning techniques to support the development of different components of Amazon S3.

In 2022 I obtained a Ph.D. in computer science from the University of Trento and Fondazione Bruno Kessler. During my PhD I designed, developed and evaluated novel formal verification algorithms for infinite-state, timed and hybrid systems. In particular, my focus was the search for (non-lasso) counterexamples for temporal properties in infinite state, timed and hybrid systems. Software non-termination is a particular instance of this problem and, in fact, many of the benchmarks I considered come from this domain.


Interests

Automated Reasoning

My primary research interest is Automated Reasoning: mechanically deciding questions about systems. I like the mathematical clarity these techniques bring when reasoning about designs and systems. I am deeply interested in Formal Verification and Model Checking based on Satisfiability Modulo Theory. These fields address difficult and often undecidable problems. I enjoy the challenge and keep learning and designing new heuristics, algorithms and techniques.

Symbolic Model Checking

SAT- and SMT-based symbolic techniques for finite- and infinite-state transition systems, bounded model checking, incremental inductive verification, property directed reachability, liveness-to-safety reductions and abstraction. These are some of the techniques I learned about and worked on while contributing to the NuSMV and nuXmv model checkers. These and other techniques in this area often inspire and guide the initial prototypes I design to address concrete engineering challenges.

Temporal Logics

Temporal logic are an expressive and compact formalism to formally describe the properties of a system. During my PhD I worked on specifying and verifying linear and metric temporal logic properties on infinite, timed and hybrid systems.

Timed and Hybrid Systems

Systems mixing discrete and continuous behaviour: Timed Transition SystemsTimed Automata with a symbolic, possibly infinite discrete component — timed temporal properties over continuous time, and hybrid automata.

Software Verification and Testing

Formal Verification and Testing lay on a spectrum of software verification techniques that help us gain confidence in its correctness. Formal Verification give us mathematically sound proofs of correctness, while testing explores the system in search of faults. An effective verification flow supports the development from the initial design, though each development iteration and maintenance. There must be a clear chain of trust, with clear separation between what is formally proven, under which assumptions and what is instead validated through testing and simulation.

Programming Languages

I like programming and I am curious about the different features that languages implement. In general I prefer strongly typed, compiled languages over scripting, interpreted ones. I routinely work with large Java code bases. Lately, I find myself increasingly using Rust, while in the past I used to write more C and C++ code. Python and sh scripting has been quite constant in my career so far. With the growth and adoption of Artificial Intelligence, I find myself able to turn ideas into code faster and with tighter review loops.

Software

Publications

2026

Conference

Nouraldin Jaber, Dongyun Jin, Bernhard Kragl, Enrico Magnago, Gustavo Petri, Thorsten Tarrach, Serdar Tasiran

High Fidelity Models for Large Scale Stateful Services

in USENIX Symposium on Operating Systems Design and Implementation (OSDI) 2026

pdf

2022

Journal

Alessandro Cimatti, Alberto Griggio, Enrico Magnago

LTL falsification in infinite-state systems

in Journal on Information and Computation 2022

pdf doi

2021

Conference

Alessandro Cimatti, Alberto Griggio, Enrico Magnago

Automatic discovery of fair paths in infinite-state transition systems

in International Symposium on Automated Technology for Verification and Analysis (ATVA) 2021

Conference

Alessandro Cimatti, Alberto Griggio, Enrico Magnago

Proving the existence of fair paths in infinite state systems

in Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI) 2021

2020

Journal

Alessandro Cimatti, Alberto Griggio, Enrico Magnago, Marco Roveri and Stefano Tonetta

SMT-Based Satisfiability of First-Order LTL with Event Freezing Functions and Metric Operators

in Journal on Information and Computation 2020

pdf doi

2019

Conference

Alessandro Cimatti, Alberto Griggio, Enrico Magnago, Marco Roveri and Stefano Tonetta

Extending nuXmv with timed transition systems and timed temporal properties

in Computer Aided Verification (CAV) 2019

Committees

Program committees

  • 2025 CAV — International Conference on Computer Aided Verification
  • 2025–2026 FMCAD — International Conference on Formal Methods in Computer-Aided Design

Artifact evaluation committees

  • 2020, 2022–2025 CAV — International Conference on Computer Aided Verification
  • 2025–2026 OOPSLA — Conference on Object-Oriented Programming Systems, Languages, and Applications
  • 2024–2025 ATVA — International Symposium on Automated Technology for Verification and Analysis
  • 2024 PLDI — Symposium on Programming Language Design and Implementation
  • 2022 FORMATS — International Conference on Formal Modeling and Analysis of Timed Systems

Education

Ph.D. · November 2022

University of Trento and Fondazione Bruno Kessler Embedded Systems unit (now Formal Methods)

Ph.D. in Computer Science

My doctoral research focused on formal verification of infinite-state, timed and hybrid systems. I was dealing with the problem of (dis)proving temporal properties on such systems, of which software (non)termination is a notable instance.

M.Sc. · October 2018

University of Trento

Master degree in Computer Science

Two years of coursework on formal methods, concurrency and distributed systems, computability and computational complexity, machine learning, data mining and knowledge representation, including a term at the University of Edinburgh.

My master thesis presents a model checker for Timed Transition Systems: Timed Automata with a symbolic, possibly infinite discrete component.

B.Sc. · July 2016

University of Trento

Bachelor degree in Computer Science

Three years on the foundations: imperative, object oriented and functional programming, algorithms and data structures, computer architecture, operating systems, networks, databases, software engineering, formal languages and compilers, and the semantics of programming languages, alongside calculus, discrete mathematics, probability and statistics.

Teaching