Associate Professor
Yale-NUS College, Singapore
Ph.D. (Computer Science, Katholieke Universiteit Leuven, Belgium, 2012)
M.Sc. (Mathematics and Computer Science, Saint Petersburg State University, Russia, 2008)
651 61903

Research Areas

  • Programming Languages & Software Engineering
  • Systems & Networking
  • Algorithms & Theory

Research Sub Areas

Research Interests

  • Design and Implementation of Programming Languages
  • Applied Logic for Software Verification
  • Concurrent and Distributed Systems


Ilya Sergey is an Associate Professor at 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 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 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. Ilya does research in programming language design and implementation, software verification, distributed systems, program synthesis and repair. He is the recipient of the 2019 Dahl-Nygaard Junior Prize and Google Faculty Research Award 2017. He designed and co-developed Scilla, a functional programming language for safe smart contracts, used by Zilliqa blockchain. Ilya was an organiser of the ICFP Programming Contest in 2019. He is a Programme Committee Chair for ESOP'22 and APLAS'22, and a member of the steering committees for POPL, PLDI, and ICFP.

Research Group

Verified Systems Engineering

Collaborators: Mirela Andreea COSTEA

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.

Research Project


Collaborators: Mirela Andreea COSTEA

Synthesis of Heap-Manipulating Programs from Separation Logic specifications


A functional language for safe smart contracts


Collaborators: Abhishek TIWARI     Abhik ROYCHOUDHURY     Abhik ROYCHOUDHURY         Abhishek TIWARI     Mirela Andreea COSTEA

Static automated concurrency repair at scale

Teaching Innovation

Selected Publications

  • 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 VerificationCAV 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 ProgramsNadia Polikarpova and Ilya Sergey46th ACM SIGPLAN Symposium on Principles of Programming Languages POPL’19
  • Programming and Proving with Distributed ProtocolsIlya Sergey, James R. Wilcox, and Zachary Tatlock45th ACM SIGPLAN Symposium on Principles of Programming Languages POPL'18
  • RacerD: Compositional Static Race DetectionSam Blackshear, Nikos Gorogiannis, Peter O’Hearn, and Ilya Sergey33rd ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications OOPSLA’18

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

Teaching (2021/2022)

  • CS4215: Programming Language Implementation
  • YSC4230: Programming Language Design and Implementation (Yale-NUS College)
  • YSC4231 Parallel, Concurrent and Distributed Programming (Yale-NUS College)
  • YSC2229: Introductory Data Structures and Algorithms (Yale-NUS College)