COM3-02-56
660 11466

https://ilyasergey.net

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

TRL 7

SuSLik

Synthesis of Heap-Manipulating Programs from Separation Logic specifications


Scilla

A functional language for safe smart contracts

TRL 9

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

CS4212
Compiler Design
CS6217
Topics in Prog. Languages & Software Engineering