Our Faculty Ilya Sergey
A headshot of smiling Ilya Sergey who has short black and grey hair, a mustache, and a beard. He is wearing a light blue collared shirt.
Ilya Sergey
Science (Computer Science)
Associate Professor

Ilya Sergey is an Associate Professor at the School of Computing, National University of Singapore (NUS), 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.

Assoc Prof Sergey received his MSc in Mathematics from St Petersburg University and his PhD in Computer Science from KU Leuven. He was a postdoctoral researcher at IMDEA Software Institute and a faculty member at University College London. He joined NUS in 2018, and was promoted to an Associate Professor with Tenure in 2021. Prior to starting his academic career, he worked as a software developer at JetBrains.

Assoc Prof Sergey does research in programming language design and implementation, software verification, distributed systems, program synthesis and repair. He designed and co-developed Scilla, a functional programming language for safe smart contracts, used by Zilliqa blockchain. He was the recipient of the 2019 Dahl-Nygaard Junior Prize and Google Faculty Research Award 2017.

Research Specialisations
  • Programming Language Design and Implementation
  • Software Verification
  • Program Synthesis
  1. Cyclic Program Synthesis. Shachar Itzhaky, Hila Peleg, Nadia Polikarpova, Reuben Rowe, and Ilya Sergey. PLDI 2021. Pages 944–959. ACM. PLDI 2021 Distinguished Paper Award
  2. Practical Smart Contract Sharding with Ownership and Commutativity Analysis. George Pîrlea, Amrit Kumar, and Ilya Sergey. PLDI 2021. Pages 1327–1341. ACM.
  3. Certifying Certainty and Uncertainty in Approximate Membership Query Structures. Kiran Gopinathan, and Ilya Sergey. CAV 2020. LNCS, Vol. 12225, Pages 279–303. Springer.
  4. Safer Smart Contract Programming with Scilla. Ilya Sergey, Vaivaswatha Nagaraj, Jacob Johannsen, Amrit Kumar, Anton Trunov, and Ken Chan Guan Hao. Proc. ACM Program. Lang. 2019. Vol. 3, (OOPSLA), Pages 185:1–185:30. ACM. OOPSLA 2019 Distinguished Artefact Award
  5. Structuring the Synthesis of Heap-Manipulating Programs. Nadia Polikarpova, and Ilya Sergey. Proc. ACM Program. Lang. 2019. Vol. 3 (POPL), Pages 72:1–72:30. ACM. POPL 2019 Distinguished Paper Award
  6. Programming and Proving with Distributed Protocols. Ilya Sergey, James R. Wilcox, and Zachary Tatlock. Proc. ACM Program. Lang. 2018. Vol. 2 (POPL), Pages 28:1–28:30. ACM.
  • YSC2229 Introductory Data Structures and Algorithms
  • YSC4230 Programming Language Design and Implementation
  • YSC4231 Parallel, Concurrent and Distributed Programming
Skip to content