
Ilya SERGEY
Associate Professor- Ph.D. (Computer Science, Katholieke Universiteit Leuven, Belgium, 2012)
- M.Sc. (Mathematics and Computer Science, Saint Petersburg State University, Russia, 2008)
Ilya Sergey is an Associate Professor at the School of Computing of National University of Singapore, where he leads the Verified Systems Engineering lab. He also holds a joint appointment at Yale-NUS College and is a lead language designer at Zilliqa, a Singapore FinTech start-up. Ilya received his MSc from St Petersburg University and PhD from KU Leuven. Before joining NUS, he was a postdoctoral researcher at IMDEA Software Institute and a faculty at University College London. Prior to starting his academic career, he worked as a software developer at JetBrains. Ilya does research in programming language design and implementation, software verification, distributed systems, program synthesis and repair. He is a recipient of distinguished paper awards at POPL and PLDI, the 2019 Dahl-Nygaard Junior Prize, the 2021 Yale-NUS Distinguished Researcher Award, and a Google Faculty Research Award.
RESEARCH INTERESTS
Design and Implementation of Programming Languages
Applied Logic for Software Verification
Concurrent and Distributed Systems
RESEARCH PROJECTS

Sisyphus
Mostly Automated Proof Repair of Verified Libraries

SuSLik
Synthesis of Heap-Manipulating Programs from Separation Logic specifications

Scilla
A functional language for safe smart contracts
RESEARCH GROUPS

Verified Systems Engineering
We do research in the design and implementation of programming languages (PL), mathematical models of computation, and computer-assisted formal reasoning. We investigate the theoretical foundations of programming and build tools for ensuring that certain kinds of costly software errors and vulnerabilities never occur in the real-world code, which many people rely upon in their everyday lives.
TEACHING INNOVATIONS
SELECTED PUBLICATIONS
- Mostly Automated Proof Repair for Verified Libraries. Kiran Gopinathan, Mayank Keoliya, and Ilya Sergey. 44th ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI 2023).
- Cyclic Program Synthesis. Shachar Itzhaky, Hila Peleg, Nadia Polikarpova, Reuben Rowe, and Ilya Sergey. 42nd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI 2021).
- Practical Smart Contract Sharding with Ownership and Commutativity Analysis. George Pîrlea, Amrit Kumar, and Ilya Sergey. 42nd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI 2021).
- Certifying Certainty and Uncertainty in Approximate Membership Query Structures. Kiran Gopinathan, and Ilya Sergey. 32nd International Conference on Computer-Aided Verification (CAV 2020).
- Safer Smart Contract Programming with Scilla. Ilya Sergey, Vaivaswatha Nagaraj, Jacob Johannsen, Amrit Kumar, Anton Trunov, Ken Chan. 34th ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2019).
- Structuring the Synthesis of Heap-Manipulating Programs. Nadia Polikarpova and Ilya Sergey. 46th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2019).
- Programming and Proving with Distributed Protocols. Ilya Sergey, James R. Wilcox, and Zachary Tatlock. 45th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2018).
AWARDS & HONOURS
PLDI 2021 Distinguished Paper Award for the work "Cyclic Program Synthesis"
Yale-NUS Distinguished Researcher Award for 2021
AITO Dahl-Nygaard Junior Prize for 2019
OOPSLA 2019 Distinguished Artifact Award, “Safer Smart Contract Programming with Scilla”
POPL 2019 Distinguished Paper Award for the work "Structuring the Synthesis of Heap-Manipulating Programs"
Google Faculty Research Award recipient (2017). Google Inc
MODULES TAUGHT