Ilya SERGEY

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)
RC3-01-03E
651 61903

https://ilyasergey.net

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

Profile

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

SuSLik https://github.com/TyGuS/suslik

Collaborators: Mirela Andreea COSTEA

Synthesis of Heap-Manipulating Programs from Separation Logic specifications

Scilla https://scilla-lang.org/

A functional language for safe smart contracts

Hippodrome https://github.com/andrecostea/hippodrome

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)