Ilya Sergey

Associate Professor at Yale-NUS College and NUS School of Computing
Lead Language Designer at Zilliqa


I am a tenured Associate Professor at Yale-NUS College and School of Computing of National University of Singapore, where I run the VERSE research lab.

I do research in programming language design and implementation, software verification, distributed systems, program synthesis and repair. I am the recipient of the AITO Dahl-Nygaard Junior Prize 2019. I designed and co-developed Scilla, a programming language for safe smart contracts, used by Zilliqa. I organised the ICFP Programming Contest 2019. In the past, I contributed to Facebook Infer and Glasgow Haskell Compiler. Very long time ago, I used to work on Scala and Clojure language support in IntelliJ IDEA.

Before moving to Singapore, I was a faculty at University College London in 2015-2018. Prior to that, I was a postdoc at IMDEA Software Institute. I hold a PhD in Computer Science from KU Leuven, and an MSc in mathematics from St Petersburg University. Before joining academia I worked as a software engineer at JetBrains.

Short bio in plain text and 3rd person


coordinates

Postal Address:

Yale-NUS College, 28 College Avenue West
#01-501, Singapore 138533
Email:
Offices:
COM2-02-42 (NUS SoC); RC3-01-03E, Cendana (Yale-NUS)
Office Phone: +65 6516 1903
Office Hours: Mondays, 3:30pm-5:00pm; Wednesdays, 5:15pm-6:30pm (Autumn 2021)
Availability: Outlook Calendar (takes a while to load)

announcements

  • Two postdoc positions are available in a joint project with Abhik Roychoudhury on automated program repair via static analysis and verification. Check out the project page for the details and get in touch!
  • I run the NUS PLSE Seminar Series. Drop me an email if you want to particiapte!

news

Aug 4, 2021 I am looking for postdocs to work on Certified Automated Program Repair. Check out the project page and get in touch!
Jul 6, 2021 Our paper on Certifying the Synthesis of Heap-Manipulating Programs (co-authored with Yasunari Watanabe, Kiran Gopinathan, George Pîrlea and Nadia Polikarpova) will appear at ICFP’21.
May 27, 2021 Got tenure!
May 24, 2021 Our paper on Cyclic Program Synthesis has received PLDI 2021 Distinguished Paper Award!
Apr 20, 2021 Looking forward to serve on the programme committees of International Symposium on DIStributed Computing (DISC’21) and of the 3rd International Workshop on Formal Methods for Blockchains (FMBC’21). Make sure to submit your papers on (verified) distributed systems, blockchains, and their applications for quality feedback (and, hopefully, publication)!
Apr 12, 2021 Our PLDI’21 paper on smart contract sharding with static analysis is now available.
Feb 26, 2021 Two papers (conditionally) accepted at PLDI’21:
  • The paper on Practical Smart Contract Sharding with Ownership and Commutativity Analysis (co-authored with George Pîrlea and Amrit Kumar) provides the first PL-based approach to parallelise validation of smart contract transactions in Ethereum-style sharded blockchains. Preprint coming soon!
  • The paper on Cyclic Program Synthesis (joint work with Shachar Itzhaky, Hila Peleg, Nadia Polikarpova and Reuben Rowe) describes the first technique for automatically synthesising heap-manipulating programs with recursive "helper" functions, from declarative specifications, without any other hints.
Dec 11, 2020 I will serve as a Programme Committee Chair for ESOP’22.

selected publications

  1. Cyclic Program Synthesis
    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
    Proc. ACM Program. Lang. 2019. Vol. 3 (OOPSLA), Pages 185:1–185:30. ACM.
    OOPSLA 2019 Distinguished Artifact 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.

lecture notes

  1. Programs and Proofs: Mechanizing Mathematics with Dependent Types
    Ilya Sergey
    Lecture notes with exercises.

miscellanea

I am married to CG artist Lilia Anisimova.

Last time I checked, my Erdős number was 4.

Here is a high-resolution "official" photo of me, suitable for appropriate occasions. Just in case, here's a more casual picture, couresy of Elena Alhimovich. Yet another old picture of mine by Jorge Cham, for I have contributed to the PHD Movie 2 on Kickstarter.

While living in Madrid, I enjoyed its inimitable atmosphere and delicious food. For the latter, this Maribel's Dining Guide to Madrid (kindly provided by Aleks Nanevski) always came in handy.