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:
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.
Introductory Data Structures and Algorithms
Concurrent and Distributed Programming