Ilya Sergey

Science (Computer Science)

Associate Professor

Email: ilya.sergey@yale-nus.edu.sg
Website: http://ilyasergey.net

View Curriculum Vitae

Associate Professor Ilya Sergey joined Yale-NUS College in November 2018, holding a joint appointment with NUS School of Computing.

From November 2015 till October 2018, he was a faculty member at the Department of Computer Science of University College London (UCL). Prior to joining UCL, from December 2012 to October 2015, he was a postdoc at IMDEA Software Institute (Madrid, Spain). From November 2008 to November 2012, he was a research assistant in the Computer Science Department of KU Leuven (Belgium), where he obtained his PhD. He got his MSc degree in Mathematics and Computer Science in 2008 from the Department of Mathematics and Mechanics of Saint Petersburg State University. Before joining academia, he worked as a software developer at JetBrains.

Assoc Prof Ilya Sergey does research in programming language theory, including, but not limited to types, semantics, software verification, and program synthesis. His particular areas of interest include:

  • Applied logic for program verification (especially for concurrency and distributed systems);
  • Design and implementation of programming languages;
  • Static program analysis (in particular, in application to higher-order and concurrent programs).

Some representative publications:

Polikarpova N., Sergey I., “Structuring the Synthesis of Heap-Manipulating Programs”, POPL’19: 46th ACM SIGPLAN Symposium on Principles of Programming Languages, January 2019

Gorogiannis N., O’Hearn P.W., Sergey I., “A True Positives Theorem for a Static Race Detector”, POPL’19: 46th ACM SIGPLAN Symposium on Principles of Programming Languages, January 2019

Sergey I., Wilcox J., Tatlock Z., “Programming and Proving with Distributed Protocols”, POPL’18: 45th ACM SIGPLAN Symposium on Principles of Programming Languages, January 2018

Nikolic I., Kolluri A., Sergey I., Saxena P., Hobor A., “Finding the Greedy, Prodigal, and Suicidal Contracts at Scale”, ACSAC 2018: 2018 Annual Computer Security Applications Conference, November 2018

Blackshear S., Gorogiannis N., O’Hearn P.W., Sergey I., “RacerD: Compositional Static Race Detection”, OOPSLA’18: 33rd ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, November 2018

Sergey I., Experience Report: “Growing and Shrinking Polygons for Random Testing of Computational Geometry Algorithms”, ICFP’16: 21st ACM SIGPLAN International Conference on Functional Programming, September 2018

Sergey I., Nanevski A., Banerjee A., Delbianco G.A., “Hoare-style Specifications as Correctness Conditions for Non-linearizable Concurrent Objects”, OOPSLA’16: 31st ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, November 2016

Sergey I., Nanevski A., Banerjee A., “Mechanized Verification of Fine-grained Concurrent Programs”, PLDI’15: 36th ACM SIGPLAN International Conference on Programming Language Design and Implementation, June 2015

Sergey I., Vytiniotis D., Peyton Jones S. L.., “Modular, Higher-Order Cardinality Analysis in Theory and Practice”, POPL’14: 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 2014

Sergey I., Devriese D., Might M., Midtgaard J., Darais D., Clarke D., Piessens F., “Monadic Abstract Interpreters”, PLDI’13: 34th ACM SIGPLAN International Conference on Programming Language Design and Implementation, June 2013

More publications can be found at Dr Sergey’s personal webpage.

Introduction to Computer Science
Introduction to Data Structures and Algorithms