
Alexandra Silva
· Professor of Computer ScienceCornell University · Computer Science
Active 2006–2024
About
Alexandra Silva is a professor in the Department of Computer Science at Cornell University. Before joining Cornell, she was a Royal Society Wolfson Fellow and a Professor of Algebra, Semantics, and Computation at the Programming Principles, Logic and Verification Group at University College London. She completed her Ph.D. at the CWI under the supervision of Jan Rutten and Marcello Bonsangue, with her thesis titled 'Kleene coalgebra,' which was defended on December 21, 2010, at Radboud University in Nijmegen and was awarded a cum laude distinction. Silva's academic background includes an undergraduate degree in mathematics and computer science from the University of Minho, which she completed in May 2006, with a final project supervised by J.N. Oliveira and Joost Visser. Her research areas include programming languages, security, software engineering, and the theory of computing.
Research signals
Five dimensions sourced from public faculty / publication signals. Sign in to compare against your own profile and see your match score.
Research topics
- Computer Science
- Artificial Intelligence
- Theoretical computer science
- Discrete mathematics
- Pure mathematics
- Mathematics
- Programming language
- Applied mathematics
- Algorithm
Selected publications
Outstanding contributions to logic · 2023 · 6 citations
Senior authorCorresponding- Computer Science
- Mathematics
- Pure mathematics
Outcome Logic: A Unifying Foundation for Correctness and Incorrectness Reasoning
Proceedings of the ACM on Programming Languages · 2023 · 34 citations
Senior authorCorresponding- Computer Science
- Computer Science
- Artificial Intelligence
Program logics for bug-finding (such as the recently introduced Incorrectness Logic) have framed correctness and incorrectness as dual concepts requiring different logical foundations. In this paper, we argue that a single unified theory can be used for both correctness and incorrectness reasoning. We present Outcome Logic (OL), a novel generalization of Hoare Logic that is both monadic (to capture computational effects) and monoidal (to reason about outcomes and reachability). OL expresses true positive bugs, while retaining correctness reasoning abilities as well. To formalize the applicability of OL to both correctness and incorrectness, we prove that any false OL specification can be disproven in OL itself. We also use our framework to reason about new types of incorrectness in nondeterministic and probabilistic programs. Given these advances, we advocate for OL as a new foundational theory of correctness and incorrectness.
2021 · 28 citations
Senior authorCorresponding- Computer Science
- Computer Science
We present Prognosis, a framework offering automated closed-box learning and analysis of models of network protocol implementations. Prognosis can learn models that vary in abstraction level from simple deterministic automata to models containing data operations, such as register updates, and can be used to unlock a variety of analysis techniques -- model checking temporal properties, computing differences between models of two implementations of the same protocol, or improving testing via model-based test generation. Prognosis is modular and easily adaptable to different protocols (e.g. TCP and QUIC) and their implementations. We use Prognosis to learn models of (parts of) three QUIC implementations -- Quiche (Cloudflare), Google QUIC, and Facebook mvfst -- and use these models to analyse the differences between the various implementations. Our analysis provides insights into different design choices and uncovers potential bugs. Concretely, we have found critical bugs in multiple QUIC implementations, which have been acknowledged by the developers.
Concurrent Kleene Algebra with Observations: From Hypotheses to Completeness
Lecture notes in computer science · 2020 · 13 citations
- Computer Science
- Computer Science
- Discrete mathematics
Semantics of Probabilistic Programming: A Gentle Introduction
Cambridge University Press eBooks · 2020 · 10 citations
- Computer Science
- Computer Science
- Artificial Intelligence
Reasoning about probabilistic programs is hard because it compounds the difficulty of classic program analysis with sometimes subtle questions of probability theory. Having precise mathematical models, or semantics, describing their behaviour is therefore particularly important. In this chapter, we review two probabilistic semantics. First, an operational semantics which models the local, step-by-step, behaviour of programs, then a denotational semantics describing global behaviour as an operator transforming probability distributions over memory states.
Frequent coauthors
- 112 shared
Filippo Bonchi
- 77 shared
Marcello Bonsangue
- 66 shared
Jan Rutten
- 44 shared
Dexter Kozen
- 37 shared
Matteo Sammartino
Royal Holloway University of London
- 36 shared
Fabio Zanasi
- 33 shared
Ana Sokolova
- 31 shared
Tobias Kappé
Labs
Education
Ph.D., Algebra, Semantics, and Computation
University College London
Other
University College London
Awards & honors
- Royal Society Wolfson Fellow
Similar researchers at Cornell University
- Resume-aware match score
- Save to shortlist
- AI-drafted outreach
See your match with Alexandra Silva
PhdFit ranks faculty by your research interests, methods, and publications — grounded in their actual work, not templates.
- Free to start
- No credit card
- 30-second signup